android canvas 画镂空矩形框
时间: 2024-09-10 13:28:50 浏览: 83
CANVAS实现鼠标绘制矩形框
5星 · 资源好评率100%
在Android的Canvas上画一个镂空矩形框,通常需要使用两个步骤:一是先画一个填充颜色的矩形,二是再在其内部画一个透明(或颜色透明)的矩形,形成镂空效果。以下是一个简单的例子:
```java
// 定义绘图资源
BitmapShader shader = new BitmapShader(Bitmap.createBitmap(rectWidth, rectHeight, Bitmap.Config.ARGB_8888), Shader.TileMode.CLAMP, Shader.TileMode.CLAMP);
// 创建Paint对象并设置属性
Paint paint = new Paint();
paint.setShader(shader);
paint.setColor(Color.TRANSPARENT); // 或者设置一个接近透明的颜色如Color.argb(0, 0, 0, 10); (透明度很低)
// 获取Canvas对象
Canvas canvas = yourImageView.getHolder().getSurface().lockCanvas();
try {
// 先画一个背景色的矩形
canvas.drawRect(0, 0, rectWidth, rectHeight, paint);
// 然后再画一个镂空矩形,使用全黑作为填充色(为了视觉清晰,也可以用白色)
paint.setColor(Color.BLACK);
canvas.drawRect(rectOffsetX, rectOffsetY, rectWidth - rectOffsetX, rectHeight - rectOffsetY, paint);
} finally {
// 释放Canvas
yourImageView.getHolder().getSurface().unlockCanvasAndPost(canvas);
}
```
这里的`rectWidth`, `rectHeight`, `rectOffsetX`, `rectOffsetY`是矩形的实际尺寸和镂空部分的偏移量,可以根据需求调整。
阅读全文