背景ビットマップを繰り返してカスタム コンポーネントを作成できます。
BitmapDrawable bitmapBg = new BitmapDrawable(BitmapFactory.decodeResource(
getResources(), R.drawable.repeatbg));
bitmapBg.setTileModeX(Shader.TileMode.REPEAT);
image.setBackgroundDrawable(bitmapBg);
そして、その三角形とあなたの背景のように、あなたが望むイメージでマスクを作ることができます.
public static Bitmap getMaskedContactImage(Context context,
Bitmap contactImageBitmap, int maskToBeApplied) {
Bitmap mask = BitmapFactory.decodeResource(context.getResources(),
maskToBeApplied);
Bitmap output = Bitmap.createBitmap(mask.getWidth(), mask.getHeight(),
Config.ARGB_8888);
final Rect finalRect = new Rect(0, 0, contactImageBitmap.getWidth(),
contactImageBitmap.getHeight());
final Rect originRect = new Rect(0, 0, mask.getWidth(),
mask.getHeight());
Canvas canvas = new Canvas(output);
Paint xferPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
xferPaint.setColor(Color.BLACK);
xferPaint.setXfermode(new PorterDuffXfermode(Mode.DST_IN));
canvas.drawBitmap(contactImageBitmap, finalRect, originRect, null);
canvas.drawBitmap(mask, originRect, originRect, xferPaint);
contactImageBitmap.recycle();
mask.recycle();
return output;
}
これは、黒色が最終イメージであるマスクを使用します。
誤解していなければ、キャプチャで示していることを達成できます。
よろしく、アレックス