您可以使用重复的背景位图制作自定义组件:
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;
}
这将使用黑色是最终图像的蒙版。
如果我没有误解,那可以实现您在捕获中显示的内容。
问候,亚历克斯