缓冲图像集RGB不工作-JAVA
我有以下问题: 我用java处理图像。我设置颜色像素,然后保存图像。但如果我把这个图像加载到程序中。像素有不同的颜色! 代码: 在此之后,我运行另一个程序,可以读取像素颜色 命令是一样的 如果我检查新图像的颜色,rgb是:缓冲图像集RGB不工作-JAVA,java,rgb,bufferedimage,Java,Rgb,Bufferedimage,我有以下问题: 我用java处理图像。我设置颜色像素,然后保存图像。但如果我把这个图像加载到程序中。像素有不同的颜色! 代码: 在此之后,我运行另一个程序,可以读取像素颜色 命令是一样的 如果我检查新图像的颜色,rgb是:R52,G:48B:81 我设置了R:55,G:53,B:53 和它的r52,G:48b:81 哪里会有问题 谢谢您的建议。这是因为Jpeg类型 Jpeg值不离散保存,而是Jpeg将图片的RGB值作为函数保存 不要使用jpeg,而是使用png格式,并确保setRGB()准确工作
R52,G:48B:81
我设置了R:55,G:53,B:53
和它的r52,G:48b:81
哪里会有问题
谢谢您的建议。这是因为Jpeg类型 Jpeg值不离散保存,而是Jpeg将图片的RGB值作为函数保存 不要使用jpeg,而是使用png格式,并确保setRGB()准确工作 因此,将您的代码替换为下面的代码
ImageIO.write(image, "png", outputfile);
JPG是一种有损编码。您正在设置图像的单个像素,而JPEG压缩可能会更改其值。@JBNizet:它能以某种方式解决此问题吗?禁用压缩?首先通过设置图像的所有像素或使用无损编码(如PNG)来确认这是问题所在。可能的重复
ImageIO.write(image, "png", outputfile);