android中使用Canvas绘制指定位置和宽高度的图片
时间: 2024-04-05 18:33:31 浏览: 10
在Android中使用Canvas绘制指定位置和宽高度的图片,可以按照以下步骤进行:
1. 在XML布局文件中添加一个自定义的View,用于绘制图片:
```xml
<com.example.myapplication.CustomView
android:id="@+id/customView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
```
2. 创建一个自定义的View类,继承自View,并重写其onDraw方法:
```java
public class CustomView extends View {
private Paint paint;
private Bitmap bitmap;
public CustomView(Context context) {
super(context);
init();
}
public CustomView(Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
init();
}
private void init() {
paint = new Paint();
bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.your_image);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
// 绘制图片
// 指定位置和宽高
int left = 100;
int top = 100;
int right = left + 200;
int bottom = top + 200;
Rect rect = new Rect(left, top, right, bottom);
canvas.drawBitmap(bitmap, null, rect, paint);
}
}
```
3. 在Activity中找到该自定义View,并设置为ContentView:
```java
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
CustomView customView = findViewById(R.id.customView);
}
}
```
这样就可以在指定位置和宽高度上绘制图片了。记得将 `R.drawable.your_image` 替换为你自己的图片资源ID。