温馨提示×

Java中canvas.drawbitmap怎么使用

小亿
100
2023-07-10 15:05:06
栏目: 编程语言

在Java中使用canvas.drawBitmap()方法绘制位图,需要以下几个步骤:

  1. 创建一个Bitmap对象,可以通过BitmapFactory类的decodeResource()方法从资源文件中加载位图,或者通过BitmapFactory类的decodeFile()方法从文件中加载位图,或者通过Bitmap.createBitmap()方法创建一个空的位图。
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.image);
  1. 创建一个Canvas对象,用于绘制位图。
Canvas canvas = new Canvas();
  1. 调用canvas.drawBitmap()方法绘制位图,可以指定绘制的位置和画笔等参数。
canvas.drawBitmap(bitmap, x, y, null);

完整的示例代码如下:

import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
public class MainActivity extends AppCompatActivity {
private Bitmap bitmap;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new MyView(this));
// 加载位图
bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.image);
}
private class MyView extends View {
public MyView(Context context) {
super(context);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
// 设置画笔颜色
Paint paint = new Paint();
paint.setColor(Color.RED);
// 绘制位图
canvas.drawBitmap(bitmap, 0, 0, null);
}
}
}

以上代码中,MyView是一个自定义的View类,用于绘制位图。在onCreate()方法中加载位图资源,并将MyView设置为当前的视图。在MyViewonDraw()方法中使用canvas.drawBitmap()方法绘制位图。

0