Posted at

Exif付き画像の傾きを調整して表示したい

More than 5 years have passed since last update.

カメラで撮影した画像にExif付加されてて、プレビュー画面で90度回転しちゃってるよ。。

なんてことありませんか?私はあります。

そこで画像の扱いを勝手良くしてくれるライブラリ、UniversalImageLoader

キャッシュの管理や、読み込み時のアニメーションなどなど、便利機能満載です。

Exif付き画像も一つオプションを設定するだけて簡単に補正(90度回転してる画像は−90度回転してくれる、みたいなヤツ)してくれます。


awesome


/* ... blahblah ... */

DisplayImageOptions defaultOptions = new DisplayImageOptions.Builder()
.showImageOnLoading(R.color.bsm_gray)
.bitmapConfig(Bitmap.Config.RGB_565)
.cacheInMemory(true)
.cacheOnDisk(true)
.imageScaleType(ImageScaleType.EXACTLY)
.displayer(new FadeInBitmapDisplayer(100))
.considerExifParams(true) // <- これ
.build();

/* ... blahblah ... */


considerExifParams(true)をDisplayImageOptionsインスタンスを作るときに追加するだけです。

自力でExif読み込んで回転させるメソッドなりユーティリティクラスを作る前にUniversalImageLoaderを使うことを検討してみてはいかがでしょうか。

私はこのオプションに気が付かず、危うくユーティリティクラスを作りそうになりました(=^・^=)

メモ:実装はこんな感じ

https://github.com/nostra13/Android-Universal-Image-Loader/commit/0655534d0701b9e7f09c7d0738a1420cd49ce217#diff-3d05e83ea020774bcad1a52b1a5ea653R67