加密后图像大小增加

时间:2013-03-25 16:25:40

标签: java image-processing netbeans encryption bufferedimage

我开发了一个加密图像的项目。该程序工作正常但加密148 KB png图像后,它变为257 KB。当相同的文件被解密回来时,我将旧图像恢复,但图像现在是219 KB。为什么尺寸几乎翻倍?

我的代码:Cannot read image in jar

1 个答案:

答案 0 :(得分:0)

这不是你的加密/解密步骤的问题,而是你如何读写PNG。

您应该使用FileInputStreamFileOutputStream之类的二进制流来读写PNG。通过保持二进制,您可以确保不要更改数据。

图像更改大小(148 KB - > 219 KB)的原因是您不保留原始文件中的所有属性。

作为示例,输出宽度,高度和类型使用以下语句进行硬编码(而不是从原始图像填充它):

BufferedImage writeImage = new BufferedImage(512, 512, BufferedImage.TYPE_BYTE_GRAY);