Android 在画布上绘制透明形状
我有一个占据整个屏幕的背景图像。我正在背景上绘制画布,并将其颜色设置为白色,以便您还看不到图像。我试图实现的是在白色画布上绘制一个透明的形状,并通过背景图像显示该形状所在的位置。我正在使用surfaceView并实现Android 在画布上绘制透明形状,android,canvas,transparent,Android,Canvas,Transparent,我有一个占据整个屏幕的背景图像。我正在背景上绘制画布,并将其颜色设置为白色,以便您还看不到图像。我试图实现的是在白色画布上绘制一个透明的形状,并通过背景图像显示该形状所在的位置。我正在使用surfaceView并实现surfaceView.Callback 您应该使白色透明: public void draw(Canvas canvas) { final RectF rectF = new RectF(); final Paint paint = new Paint(); pain
surfaceView.Callback
您应该使白色透明:
public void draw(Canvas canvas)
{
final RectF rectF = new RectF();
final Paint paint = new Paint();
paint.setARGB(128, 255, 255, 255);
rectF.set(0,0, getMeasuredWidth(), getMeasuredHeight());
canvas.drawRect(rectF, paint);
}
要绘制透明形状,请遵循以下代码
Paint paint = new Paint();
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR));
//draw any shape, here I am drawing Rect shape
Rect rect=new Rect(left, top, right, bottom);
canvas.drawRect(rect,paint);
它使该区域变黑