【发布时间】:2015-05-28 04:03:47
【问题描述】:
我正在尝试使用 Java 将图像转换为灰度图像。这里的问题是,当我在转换为灰度后尝试保存该图像时,它显示的是黑色图像。我几乎不知道这种图像转换。我想知道为什么它不起作用,您的回答将在我的项目中帮助我。谢谢你。
BufferedImage image = ImageIO.read(fileContent);
File outputFile = new File(date1);
ImageIO.write(image1, "png", outputFile);
(这是从html页面获取的彩色图像,它工作正常。当我试图显示/保存这个图像时,彩色图像是可见的。但是当下面的代码用于转换颜色时会出现问题图片转灰度图。)
BufferedImage image1 = new BufferedImage(width, height,BufferedImage.TYPE_BYTE_GRAY);
Graphics graphics = image1.getGraphics();
graphics.drawImage(image, 0, 0, null);
graphics.dispose();
File outputFile = new File(date1);
ImageIO.write(image1, "png", outputFile);
【问题讨论】:
-
只是想知道:如果您不包含转换,您的代码是否有效?含义:我会首先尝试让流程向我展示原始图片;当这有效时,您可以考虑拉动您的转化。
-
最初,当我尝试显示/保存彩色图像时,我可以看到图像,转换后显示的是黑色图像而不是灰度图像。
-
您能否尝试在
JFrame或类似名称中显示图像,看看问题是转换还是灰度图像的保存问题?使用不同的输出文件格式(如 BMP 或 JPEG)是否重要? -
JPEG 文件格式在我们尝试图像加密时不是首选。这就是我使用 png 图片的原因。
-
谢谢。图片有问题。
标签: java bufferedimage grayscale