8
我有占据整个屏幕的背景图像。我在背景上绘制画布,并将其颜色设置为白色,以便您看不到图像。我想要实现的是在白色画布上绘制透明形状,并通过背景图像显示该形状的位置。我正在使用SurfaceView并执行SurfaceView.Callback
。在画布上绘制透明形状
我有占据整个屏幕的背景图像。我在背景上绘制画布,并将其颜色设置为白色,以便您看不到图像。我想要实现的是在白色画布上绘制透明形状,并通过背景图像显示该形状的位置。我正在使用SurfaceView并执行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);
它离开该地区黑 – 2017-02-26 18:35:20