如何将图像转换为灰度?
How to convert an image to greyscale?
我只想将图像转换为灰度。但我得到的只是一张完全 black
的图像。为什么?
BufferedImage original = ImageIO.read(url);
BufferedImage image = new BufferedImage(original.getWidth(), original.getHeight(), BufferedImage.TYPE_BYTE_GRAY);
Graphics g = image.getGraphics();
g.drawImage(image, 0, 0, null);
g.dispose();
它与源图像一样具有正确的宽度和高度,但完全是黑色...
您正在向自身写入空图像。
改变
g.drawImage(image, 0, 0, null);
到
g.drawImage(original, 0, 0, null);
我只想将图像转换为灰度。但我得到的只是一张完全 black
的图像。为什么?
BufferedImage original = ImageIO.read(url);
BufferedImage image = new BufferedImage(original.getWidth(), original.getHeight(), BufferedImage.TYPE_BYTE_GRAY);
Graphics g = image.getGraphics();
g.drawImage(image, 0, 0, null);
g.dispose();
它与源图像一样具有正确的宽度和高度,但完全是黑色...
您正在向自身写入空图像。
改变
g.drawImage(image, 0, 0, null);
到
g.drawImage(original, 0, 0, null);