アプリのスクリーンショットをギャラリーに保存しています -
//screenshot
private void screenshot()
{
Uri photo = lomography();
String photopath = photo.getPath();
try {
MediaStore.Images.Media.insertImage(getContentResolver(), photopath, "name" , "desc");
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
フォトパスに保存されている画像は高品質です。
しかし、ギャラリーに移動して同じ写真を開くと、これはいくつかの圧縮アーティファクトを含む低 JPEG バージョンです。
元のファイルが PNG の場合、ギャラリーの画像が JPEG バージョンになるのはなぜですか? 高解像度バージョンをギャラリーに保存するにはどうすればよいですか?
ここで、トリックは「ContentResolver::insert でイメージを登録する」にあると読みました。
しかし、私は getContentResolver を使用しています。