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

この画像を傾けると角が飛び出すので画像サイズが大きくなる。

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

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

 

END