android中使用Canvas绘制指定位置和宽高度的图片
时间: 2024-04-06 19:28:26 浏览: 9
在Android中使用Canvas绘制指定位置和宽高度的图片,可以按照以下步骤进行:
1. 在你的自定义View的`onDraw()`方法中创建一个Canvas对象:
```java
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
// 创建画布
Canvas canvas = new Canvas();
// 绘制其他内容...
// 绘制图片
drawImage(canvas);
// 绘制其他内容...
}
```
2. 在`drawImage()`方法中使用Canvas的`drawBitmap()`方法绘制图片,指定图片的位置和宽高度:
```java
private void drawImage(Canvas canvas) {
// 加载图片资源
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.your_image);
// 指定图片位置和宽高
Rect srcRect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight()); // 源图片矩形区域
Rect dstRect = new Rect(left, top, left + width, top + height); // 目标位置矩形区域
// 绘制图片
canvas.drawBitmap(bitmap, srcRect, dstRect, null);
}
```
在上述代码中,`left`和`top`是图片的左上角坐标,`width`和`height`是图片的宽度和高度。你可以根据需要调整这些值。
3. 在你的自定义View中调用`invalidate()`方法触发重绘,以便将图片绘制到屏幕上:
```java
invalidate();
```
这样,指定位置和宽高度的图片就会被绘制在指定的位置上。记得替换`R.drawable.your_image`为你要绘制的图片资源的ID。