首先简略说明绘制图片:
由于canvas.drawBitmap(bitmap, src, dst, paint);有四个参数所以大体有四五步。
1、通过getResource()方法得到drawable文件夹里BitmapDrawable类型的对象
2、将BitmapDrawable类型转化为Bitmap类型的对象
3、创建src, dst,两个长方形,src是指在原图形上截得的图片,dst是指贴到目标位置的长方形。
4、图片的画笔一般为null。
5、调用canvas.drawBitmap(bitmap, src, dst, paint)方法。
接着说明如何使图片旋转:
主要是通过matrix矩阵。
1、创建矩阵对象
2、确定旋转方向
3、画布canvas设置矩阵
注意:在canvas.setMatrix(matrix);后的canvas画的任何图形都会旋转。
再画完想要旋转的图像后,调用canvas.setMatrix(null);方法,取消画布的旋转效果。
实例代码:
/* * 插入图片 */ BitmapDrawable drawable = (BitmapDrawable)getResources().getDrawable(R.drawable.girls); Bitmap bitmap = drawable.getBitmap(); Rect src = new Rect(0,0,440,320); Rect dst = new Rect(maxLeft, maxUp, maxRight, maxBottom); Matrix matrix = new Matrix(); matrix.setRotate(45, 0, 0); canvas.setMatrix(matrix); canvas.drawBitmap(bitmap, src, dst, null); // canvas.setMatrix(null);
谢谢~
时间: 2024-10-19 00:49:44