2015年5月9日土曜日

メモリを節約しながら画面サイズに合わせたBitmapの表示方法

CanvasにBitmap(画像ファイル)を表示させるときに、縮小もしくは拡大して表示したいということがある。 このときよく使われる方法はBitmap.createBitmapを呼び出してサイズを変更したBitmapを新しく作る方法であるが、 createという言葉の通り新しくBitmapオブジェクトが生成されることになるためメモリを食ってしまう。

 もっと良い方法が無いか試してみたところ、drawBitmap(Bitmap bitmap, Rect src, Rect dst, Paint paint)を 使えばメモリを消費せずに描画できることがわかった。 
第二引数のRectはnullで良いらしいので、第三引数のRectに表示したい画像の座標を入れてやればOKで無事に メモリを節約した状態で拡大縮小表示ができた。

0 件のコメント:

コメントを投稿