ImageIO.read()输入错误

时间:2014-09-15 21:57:32

标签: java image input

我正在尝试制作一个编码/解码图像的程序。

想法:加载 - >编码/解码 - >保存

运行编码和解码算法后,图像会出现错位的像素 和颜色损失。

我可以确保您的编码/解码算法正常运行 解码后,每个像素都被放入保存准确位置,就像编码之前一样。

然后我运行我的程序而没有编码/解码功能。它只打开文件然后保存。

import java.awt.image.BufferedImage;  

private BufferedImage img;
img = ImageIO.read(inputFile);
ImageIO.write(img, format, outputFile);

这是测试输入图像:

和相应的输出:

第5列女巫纯红色变成深棕色,橙色变成深橙色......等 红色附近的颜色影响最大 然后我再次运行我的程序,但这次我添加了这个:

//4 because red was in the 5th column
System.out.println(img.getRGB(4, 4)); 

我得到了值为

的整数
 -1237980  

如果我理解正确,那么返回应该更像

167116..

这意味着在read()期间发生错误?我能做些什么呢?我该如何避免这种情况?
你能建议其他一些图书馆来做这项工作吗?

是的,我尝试了不同的格式,颜色丢失仍然存在,并且有一些更大的图像像素 发生错位(不是因为编码/解码)。

0 个答案:

没有答案