Android(開発)/画像を合成する

Android(開発)/画像を合成する

合成処理

まず空のbitmapをサイズ指定で作る。こいつが合成のベースになる サイズは100×100

newBitmap = Bitmap.createBitmap(100, 100, Bitmap.Config.ARGB_8888);

合成するためにCanvasに変換

Canvas c = new Canvas(newBitmap);

合成対象1個目の画像を用意

Bitmap bitmap1 = BitmapFactory.decodeResource(getResources(), R.drawable.bitmap1);

合成する。さっきの合成ベースの(0,0)地点にbitmap1の画像を貼り込む

c.drawBitmap(bitmap1, 0, 0, null);

このような指定の仕方もある貼り込む対象の範囲をRectオブジェクトで指定して(領域を切り出す)

その指定した範囲をベースのRectオブジェクトで指定された範囲にぴったり貼り込む。つまり切り出しと拡大縮小を同時に行う。

c.drawBitmap(Bitmap bitmap, Rect bitmapRect, Rect baseRect, Paint paint)

この操作を繰り返して何枚もbitmapを貼り込むことができる。

drawBitmapの命令が済んだ時点でnewBitmapは破壊的に変更されている。

最終的なコード

newBitmap = Bitmap.createBitmap(100, 100, Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(newBitmap);
Bitmap bitmap1 = BitmapFactory.decodeResource(getResources(), R.drawable.bitmap1);
c.drawBitmap(bitmap1, 0, 0, null);

タグ

android/dev/image_data_making.txt · 最終更新: 2019-11-21 15:48 by ore