バイト配列をPNGイメージ(JPEG以外)に変換するにはどうすればよいですか?私はステガノグラフィをコーディングする際にこれに遭遇しました。私はその間にBufferedImageに変換する必要があるプロセスのビットを知っています。助けてください。バイト配列をpngイメージに変換する
答えて
長さ=(画像の幅*画像の高さ* 3)のバイト配列があるとします。まず、BufferedImageにデータをパック:
import java.awt.BufferedImage;
byte[] b = (...);
BufferedImage img = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
for (int y = 0; y < height; y++) {
for (int x = 0; x < width; x++) {
int off = (y * width + x) * 3;
int pix = (b[off] & 0xFF) << 16; // Red component
pix |= (b[off + 1] & 0xFF) << 8; // Green component
pix |= (b[off + 2] & 0xFF) << 0; // Blue component
img.setRGB(x, y, pix);
}
}
そして、我々は、PNGイメージファイルの書き込み:
import javax.imageio.ImageIO;
ImageIO.write(img, "png", new File("output.png"));
あなたのコードを試しましたが、停止していません。私が持っているすべての詳細です:私のバイト配列のサイズは1316890と幅= 1024と高さ= 768.私が使用している画像はhttp://vignette3.wikia.nocookie.net/pokemon/images/b/b4/ですPokemon_Anime.png/revision/latest?cb = 20110118234235 –
私のループは正しく終了します。それは停止していないという意味ですか?私にあなたが実行しているコードとあなたが観察している動作についての情報を教えてください – Nayuki
私のコードを少し修正しました。そして、 "ArrayIndexOutOfBound" Exceptionを取得しています。最初の画像のBufferedImageから取得した幅と高さはそれぞれ1024と768で、BufferedImageをバイト配列に変換すると、配列のサイズは1316890です。バイト配列をpng画像に戻したいと思います。あなたのコードを使用する上で私は上記のように例外を取得しています。 –
- 1. バイト配列をpngに変換する
- 2. PNG圧縮バイト配列をBMPバイト配列に変換する
- 3. バイト配列をPNG/JPGに変換
- 4. バイト配列イメージの変換後にcore.net
- 5. Uint8ClampedArray配列をnode.jsのpngイメージに変換する方法は?
- 6. バイト配列をjavaFXイメージに変換するには?
- 7. バイト配列をイメージに変換する:パラメータが無効です
- 8. Silverlight 4:bmpバイト配列をpngバイト配列に変換するにはどうすればよいですか?
- 9. WinRt AppのWriteableBitmapイメージをバイト配列に変換する方法
- 10. BGRバイト配列をイメージに変換する方法
- 11. バイト配列をイメージに変換する方法
- 12. UIImagePickerイメージをバイト配列に変換する方法objective-c
- 13. バイト配列のRGBイメージをグレースケールに変換する方法
- 14. JPEGイメージをバイト配列に変換する - COM例外
- 15. base64バイト配列をイメージに変換する
- 16. Javaイメージをバイト配列サイズの問題に変換する
- 17. PILイメージをバイト配列に変換しますか?
- 18. 変換バイト配列
- 19. バイト配列をイメージなしのイメージに変換するFromStream(for Mono)
- 20. 複数のイメージをバイト配列としてイメージに変換するxamarinフォーム
- 21. C#バイト配列に変換
- 22. NSStringをバイト配列に変換する
- 23. バイト配列をUIImageに変換する
- 24. バイト配列をlongに変換する
- 25. int16をバイト配列に変換する
- 26. バイナリをバイトに変換する[]配列
- 27. D3DImageをバイト配列に変換する
- 28. JavaScriptをバイト配列に変換する
- 29. .jpgイメージを.pngに変換する
- 30. Uint8ClampedArrayイメージをjpg/pngに変換する
は、あなたのバイトのグレースケールまたはRGB24ていますか? – Nayuki
あなたはどの言語で作業していますか? Javaには、優れたファイルイメージ変換とライティングライブラリがあります。 –
Javaで作業していることを確認できますか?あなたはBufferedImageについて言及しました。そして、あなたは実際にBufferedImageにバイト配列を検索しましたか?結果が得られなかったら私は驚くだろう。 https://stackoverflow.com/questions/12705385/how-to-convert-a-byte-to-a-bufferedimage-in-java – Reti43