[Android] Mask Image 합성
대상이미지중 마스크 이미지의 투명하지 않은 영역만을 보여줌
ImageView img = photoContents;
Canvas canvas = new Canvas();
Bitmap mainImage = BitmapFactory.decodeFile(imageFile
.getAbsolutePath());
Bitmap tmpMask = BitmapFactory.decodeResource(context.getResources(),
R.drawable.mask);
Bitmap mask = Bitmap.createScaledBitmap(tmpMask, mainImage.getWidth(), mainImage.getHeight(), true);
tmpMask.recycle();
tmpMask = null;
Bitmap result = Bitmap.createBitmap(mainImage.getWidth(),
mainImage.getHeight(), Bitmap.Config.ARGB_8888);
canvas.setBitmap(result);
Paint paint = new Paint();
paint.setFilterBitmap(false);
canvas.drawBitmap(mainImage, 0, 0, paint);
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_OUT));
// DST_IN, DST_OUT(mask reverse)
canvas.drawBitmap(mask, 0, 0, paint);
paint.setXfermode(null);
img.setImageBitmap(result);
img.invalidate();