1

イメージを暗号化するプロジェクトを開発しました。プログラムは正常に動作しますが、148 KB の png 画像を暗号化すると 257 KB になります。同じファイルを復号化すると、古いイメージが返されますが、イメージは現在 219 KB です。サイズが約2倍になるのはなぜですか?

私のコード: jar内の画像を読み取れません

4

1 に答える 1

0

問題は暗号化/復号化の手順ではなく、PNG の読み取りと書き込みの方法です。

や のようなバイナリ ストリームを使用して PNG を読み書きする必要がFileInputStreamありFileOutputStreamます。バイナリを維持することで、データを変更しないようにします。

画像のサイズが変わる (148 KB -> 219 KB) 理由は、元のファイルのすべてのプロパティを保持していないためです。

例として、出力の幅、高さ、およびタイプは、次のステートメントでハードコーディングされます (元の画像から入力するのではなく)。

BufferedImage writeImage = new BufferedImage(512, 512, BufferedImage.TYPE_BYTE_GRAY);
于 2013-03-26T04:56:59.493 に答える