我開發了一個加密圖像的項目。該程序工作正常,但加密一個148 KB的PNG圖像後,它變成257 KB。當相同的文件解密回來,我得到舊的圖像回來,但圖像現在是219 KB。爲什麼尺寸幾乎翻倍?加密後圖像大小增加
回答
這是不正確的加密/解密步驟,這是問題,而是你如何讀寫PNG。
您應該使用二進制流如FileInputStream
和FileOutputStream
來讀寫PNG。通過保持二進制文件,確保您不會更改數據。
圖像更改大小(148 KB - > 219 KB)的原因是您不保留原始文件的所有屬性。
作爲一個例子的輸出寬度,高度和類型是硬編碼與以下語句(而不是從原始圖像填充它):
BufferedImage writeImage = new BufferedImage(512, 512, BufferedImage.TYPE_BYTE_GRAY);
但我的圖像寬度和高度與原始圖像相同。規模仍在增加。爲什麼? – Prasad 2013-10-22 06:39:22
可能是另一種顏色深度,可提供更多數據或添加一個alpha圖層。問題在於,png是不必要的解包和重新打包 - 顯然有幾個屬性沒有保留。話雖如此,加密輸入應該只是一個二進制流。加密不應該在乎被加密的文件是圖片,文本文件還是其他東西。 – 2013-10-22 09:02:22
其實我用RC4加密一個圖像,就像算法一樣,也就是用鍵做'XOR'圖像。我什麼都不做(明確),這將導致加密圖像的大小增加。我真的想跟蹤這個。請幫幫我。 – Prasad 2013-10-22 10:52:08
- 1. 加載後圖像大小增加
- 2. 增加圖像大小
- 3. 當我增加圖像大小時td大小不會增加
- 4. 增加圖像縮略圖的大小
- 5. 增加圖像的大小ImageView的
- 6. Jquery onmouseover圖像大小增加
- 7. openCV cvSaveImage()增加圖像的大小
- 8. 增加/減少圖像大小,網站
- 9. 增加點擊圖像的大小JQuery
- 10. 防止PIL增加圖像的大小
- 11. 旋轉圖像增加其大小?
- 12. 你如何增加圖像的大小?
- 13. 縮小PNG圖像會增加圖像大小
- 14. 增加大小
- 15. 增加大小
- 16. 增加大小
- 17. 在碰撞後增加Pygame圖像大小?
- 18. 應用簡單水印後圖像大小急劇增加
- 19. 存儲後增加的android圖像文件大小
- 20. 插入圖像後文件大小增加
- 21. iPhone - 增加UIImageView的大小,並保持圖像大小固定
- 22. 在matlab中加密後保留圖像大小
- 23. 加載後設置圖像大小
- 24. 加水印後的圖像大小
- 25. 從dvipng提高圖像質量而不增加圖像大小?
- 26. 混合2圖像並增加新一代圖像的大小
- 27. Android:xml圖像縮放不足以增加圖像大小
- 28. 當java程序添加文本時圖像大小增加
- 29. 增加堆大小
- 30. 增加sc_fifo_out大小
加密imaage純粹作爲二進制數據(字節)。讀取圖像然後用java編寫圖像可能不會產生最高的壓縮率,並且有損壓縮會降低質量。 – 2013-03-25 17:47:32