menu
書いてる野郎
orebike@gmail.com
まず空の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);