Androidにステガノグラフィを実装しようとしています...しかし、ビットマップは保存時に圧縮され、ピクセル値が変更されます。画像を保存する他の方法はありますか?
前もって感謝します!!
Androidにステガノグラフィを実装しようとしています...しかし、ビットマップは保存時に圧縮され、ピクセル値が変更されます。画像を保存する他の方法はありますか?
前もって感謝します!!
JPGなどの損失を伴う一般的な圧縮方法では、チェックしたとおりに透かしデータが台無しになるため、アプリケーションには可逆圧縮方法を使用する必要があります。ビットマップ圧縮形式を見ると、JPGとPNGの圧縮形式しか利用できないようです。AFAIK png は可逆圧縮方式であるため、データの保存に使用できます。
FileOutputStream fos = new FileOutputStream(filename);
bitmap.compress(Bitmap.CompressFormat.PNG, 100, fos);
圧縮品質の最大値として 100 を渡してみてください。このようにして、bmp をルースレスで圧縮します。