在Java中使用canvas.drawBitmap()
方法绘制位图,需要以下几个步骤:
Bitmap
对象,可以通过BitmapFactory
类的decodeResource()
方法从资源文件中加载位图,或者通过BitmapFactory
类的decodeFile()
方法从文件中加载位图,或者通过Bitmap.createBitmap()
方法创建一个空的位图。Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.image);
Canvas
对象,用于绘制位图。Canvas canvas = new Canvas();
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
设置为当前的视图。在MyView
的onDraw()
方法中使用canvas.drawBitmap()
方法绘制位图。