2011-01-09 1 views
0

私はAndroidでステガノグラフィを実装しようとしていますが、ビットマップは格納時に圧縮され、ピクセル値が変更されます。画像を保存する他の方法はありますか?android steganography

ありがとうございます!

+0

[アンドロイドステガノグラフィー]の複製が可能です。(http://stackoverflow.com/questions/4644683/android-steganography) –

+0

私はあなたの新しい質問と重複しています。同じ質問をもう一度聞かないでください。 –

答えて

1

あなたがチェックしているようなJPGなどの損失と共通の圧縮方法は、あなたの透かしデータを台無しにするので、あなたはあなたのアプリケーションのための可逆圧縮方式を使用する必要があります。 Bitmap Compression formatsを見てみると、JPGとPNGの圧縮形式しか利用できないようです。 AFAIK png は可逆圧縮方式なので、データを保存するために使用できます。

0
FileOutputStream fos = new FileOutputStream(filename); 
bitmap.compress(Bitmap.CompressFormat.PNG, 100, fos); 

圧縮品質の最大値として100を渡してみてください。このようにして、bmp looslessを圧縮します。

+1

私はbitmap.compressで試しました(Bitmap.CompressFormat.PNG、100、fos);圧縮前と圧縮後の画像のpix [0]の値が異なるため元のデータを取り出せません – poo123

+0

これを見てください - http://www.source-code.biz/base64coder/java/これはいくつかのものです画像をバイトストリームにエンコード/デコードするためのライブラリ(そして、バイトストリームをSDカードに保存することができます)。 – fiction

関連する問題