android canvas绘制60dp的圆角矩形图片
时间: 2023-08-03 10:11:20 浏览: 123
可以使用以下代码绘制一个60dp圆角矩形的图片:
```java
// 计算60dp对应的像素值
int radius = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 60, getResources().getDisplayMetrics());
// 创建一个Bitmap对象
Bitmap bitmap = Bitmap.createBitmap(radius, radius, Bitmap.Config.ARGB_8888);
// 创建一个Canvas对象,并将其与Bitmap对象关联
Canvas canvas = new Canvas(bitmap);
// 创建一个RectF对象,用于定义矩形的边界
RectF rect = new RectF(0, 0, radius, radius);
// 创建一个Paint对象,并设置其为抗锯齿模式
Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
// 设置画笔的颜色为白色
paint.setColor(Color.WHITE);
// 在Canvas上绘制圆角矩形
canvas.drawRoundRect(rect, radius / 6, radius / 6, paint);
// 将Bitmap对象转换成Drawable对象
Drawable drawable = new BitmapDrawable(getResources(), bitmap);
```
在上面的代码中,我们首先通过`TypedValue.applyDimension()`方法将60dp转换成像素值,然后创建一个Bitmap对象,并将其与Canvas对象关联。接着,我们创建一个包含矩形边界的RectF对象,用于定义圆角矩形的形状。然后,我们创建一个Paint对象,并将其设置为抗锯齿模式,设置画笔的颜色为白色。最后,在Canvas上绘制圆角矩形,并将Bitmap对象转换成Drawable对象。
阅读全文