[android] bitmap画像を指定画像でマスキング

bitmap画像を指定画像でマスキング

Bitmap original = BitmapFactory.decodeResource(getResources(),R.drawable.originalImage);
Bitmap mask = BitmapFactory.decodeResource(getResources(),R.drawable.maskImage);
Bitmap maskedBitmap = Bitmap.createBitmap(mask.getWidth(), mask.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas();
canvas.setBitmap(maskedBitmap);
Paint paint = new Paint();
paint.setFilterBitmap(false);
canvas.drawBitmap(original, 0, 0, paint);
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_IN));
canvas.drawBitmap(mask, 0, 0, paint);
paint.setXfermode(null); //マスク完了

imageView.setImageBitmap(maskedBitmap); //マスクされた画像をimageViewに貼り付け

*drawableに「originalImage」「maskImage」を配置しておくこと

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です