Java 如何使用画布在位图上绘制图案

Java 如何使用画布在位图上绘制图案,java,android,android-bitmap,Java,Android,Android Bitmap,我只是想知道是否有任何方法可以在位图上绘制图案。例如,我想在位图上画一个这样的图案 选项1:透明前景 如果按照描述的过程合并两个图像,则可以将一个图像绘制到另一个图像上。如前所述,只需更改最上面图像的不透明度。考虑下面的例子: Bitmap bitmap = Bitmap.createBitmap(/* width */, /* height */, Config.ARGB_8888); Paint alpha = new Paint(); alpha.setAlpha(/* alpha */)

我只是想知道是否有任何方法可以在位图上绘制图案。例如,我想在位图上画一个这样的图案

选项1:透明前景

如果按照描述的过程合并两个图像,则可以将一个图像绘制到另一个图像上。如前所述,只需更改最上面图像的不透明度。考虑下面的例子:

Bitmap bitmap = Bitmap.createBitmap(/* width */, /* height */, Config.ARGB_8888);
Paint alpha = new Paint();
alpha.setAlpha(/* alpha */);
Canvas canvas = new Canvas(bitmap);
Bitmap background = BitmapFactory.decodeResource(
    getResources(), R.drawable.background);
Bitmap foreground = BitmapFactory.decodeResource(
    getResources(), R.drawable.pattern);
canvas.drawBitmap(background, /* xPos */, /* yPos */, null);
canvas.drawBitmap(foreground, /* xPos */, /* yPos */, alpha);
选项2:用前景遮罩背景


可选地,如果你试图屏蔽图像,你可以考虑实现解决方案。

你可以设置一个位图并在它上面创建一个画布。一旦画布在位图上被创建,你就可以在它上面画出自定义图案。 您可以在此处查看如何绘制文本的完整指南:

长话短说:

复制位图以使其可变,并在此基础上创建画布。

请参阅PorterDuffXfermode,一些背景