1.canvas介绍:
Android中大部分2D使用的api都在android.graphics和android.graphics.drawable包中。他们提供了图形处理相关的: Canvas、ColorFilter、Point(点)和RetcF(矩形)等,还有一些动画相关的:AnimationDrawable、 BitmapDrawable和TransitionDrawable等。以图形处理来说,我们最常用到的就是在一个View上画一些图片、形状或者自定义的文本内容,这里我们都是使用Canvas来实现的。你可以获取View中的Canvas对象,绘制一些自定义形状,然后调用View. invalidate方法让View重新刷新,然后绘制一个新的形状,这样达到2D动画效果。
下面转载对CANVAS的介绍:
Canvas的意思是画布,表现在屏幕上就是一块区域,我们可以再上面使用各种API绘制我们想要的东西。可以说,Canvas贯穿整个2D Graphics,android.graphics中的所有类,几乎都于Canvas有直接或间接的联系。所以了解Canvas是学习2D Graphics的基础。
Android官方文档对Canvas的简介很好的介绍了Canvas的使用:
- The Canvas class holds the "draw" calls. To draw something, you need 4 basic components: A Bitmap to hold the pixels,
- a Canvas to host the draw calls (writing into the bitmap), a drawing primitive (e.g. Rect, Path, text, Bitmap),
- and a paint (to describe the colors and styles for the drawing).
1、一个用来保存像素的Bitmap
2、一个Canvas在Bitmap上进行绘制操作
3、绘制的东西
4、绘制的画笔Paint
2.canvas对象获取:
1.通过重写View.ondraw方法View中的Canvas对象会被当做参数传递过来,我们操作这个Canvas,效果会直接反应在View中。
2.自己创建一个Canvas对象:
Bitmap b = Bitmap.createBitmap(100, 100, Bitmap.Config.ARGB_8888);
Canvas c =
new
Canvas(b);
3.Canvas几个重要的操作:
1.translate和rotate
translate(x,y):将画布坐标原点X轴方向平移X,Y轴平移Y
rotate:旋转画布
2.save和restore
保存当前的matrix clip translate等操作。在save()之后的这些操作将保存到画布中去,当调用restore()的时候,将还原canvas到调用save()之前的状态。
参考文章:http://blog.csdn.net/lonelyroamer/article/details/8264189
http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2012/1212/703.html