Android アプリ開発「MATRIX」

Androidアプリの開発に役立つサンプル集

ビットマップ画像を回転させると全体のサイズが大きくなる

ビットマップ画像を回転させると全体のサイズが大きくなる

BitmapFactory と Matrix で画像を回転させると、傾けた分画像のサイズが大きくなるので注意が必要です。

<サンプルコード>

//ビットマップを生成
Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(), R.drawable.sample_image);
//ビットマップの中心を軸に45度回転する準備
Matrix matrix = new Matrix();
matrix.postRotate(
45, bitmap.getWidth() / 2, bitmap.getHeight() / 2);
//bitmapを回転させたbitmap_kaitenを生成
Bitmap bitmap_kaiten = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), matrix, true);

<説明>

四角のビットマップ画像があります。

f:id:vw-dsg:20160627060706p:plain

この画像を Matrix で傾けると、傾けた分だけ画像サイズが大きくなります。

f:id:vw-dsg:20160627060722p:plain

ですので、画像を傾けたり回転させる場合は、サイズが大きくなることを想定した処理が必要になります。

END