1、如何获得一个Canvas对象。
Canvas对象的获取方式有三种:
第一种我们通过重写View.onDraw方法,View中的Canvas对象会被当做参数传递过来,我们操作这个Canvas,效果会直接反应在View中。
第二种就是当你想自己创建一个Canvas对象。从上面的基本要素可以明白,一个Canvas对象一定是结合了一个Bitmap对象的。所以一定要为一个Canvas对象设置一个Bitmap对象。
[java] view plain copy
-
//得到一个Bitmap对象,当然也可以使用别的方式得到。但是要注意,改bitmap一定要是mutable(异变的)
-
Bitmap b = Bitmap.createBitmap(100,100, Bitmap.Config.ARGB_8888);
-
Canvas c = new Canvas(b);
-
/*先new一个Canvas对象,在调用setBitmap方法,一样的效果
-
* Canvas c = new Canvas();
-
* c.setBitmap(b);
-
*/
第三种方式,是调用SurfaceHolder.lockCanvas(),返回一个Canvas对象。
2、canvas可以绘制的内容
1)填充
drawARGB(int a, int r, int g, int b)
drawColor(int color)
drawRGB(int r, int g, int b)
drawColor(int color, PorterDuff.Mode mode)
2)几何图形
canvas.drawArc (扇形)
canvas.drawCircle(圆)
canvas.drawOval(椭圆)
canvas.drawLine(线)
canvas.drawPoint(点)
canvas.drawRect(矩形)
canvas.drawRoundRect(圆角矩形)
canvas.drawVertices(顶点)
cnavas.drawPath(路径)
3)图