1:绘制BitMap对象:
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
//装载图像资源,并获得InputStream对象
InputStream is = context.getResource().openRawResource(R.drawable.XXXX);
BitmapFactory.Options opts = new BitmapFactory.Options();
opts.inSampleSize=2;//按图像的50%绘制
//将InputStream对象解码成BitMap对象
Bitmap bitmap=BitmapFactory.decodeStream(is,null,opts);
//绘制位图
canvas.drawBitmap(bitmap,10,10,null);
}
注释:drawBitmap方法为使用Paint对象,一次需将最后一个参数设置为null
BitmapFactory.Options类得inSampleSize属性表示原位图与绘制的位图的比例。
该属性值为1,表示原位图与绘制的位图的比例是1:1.
如果为2,表示按原位图的50%(2:1)的大小绘制位图
2:使用Drawable.draw方法绘制位图:
protected void onDraw(Canvas canvas) {
//获取图像资源的Drawable对象
Drawable drawable=context.getResource().getDrawable(R.drawable.XXXXX);
//设置位图左上角坐标(前两个参数)和绘制在View上的位图的宽度和高度(后两个参数)
drawable.setBounds(50,250,180,120);
//绘制位图
drawable.draw(canvas);
}