Android Canvas 绘图

jopen 10年前

    先介绍一下Canva、Paint、RectXX、 Bitmap、Drawable之间的关系:

    Canvas:封装了多种绘图所用的方法,他就相当于一个图形画法的集合,你需要画什么图形调用相应的drawXXX()方法就可以实现。他除了封装了画图方法还封装了对图片进行裁剪的clipXXX()方法。

    Paint:现在有了画图的方法集合,也就是有了画图的技术说明,那怎么去实际去画这个图呢?现在就需要一个大师傅进行操刀进行画图,这个实际进行绘画的人就是Paint,每个师傅有他各自的特点,有的刀工好,有的刻花好,TextPaint就是写字比较好。

    RectXX:这个类族的作用就是为大师傅提供一个施展才华的舞台,android使用Canvas提供的方法,请Paint在RectXX上进行绘画,得到的结果就存储在一个内存空间里,这个空间就是一个Bitmap

   Drawable:上述的操作都是在内存中进行的,是看不见的,而Drawable就是一个真实接口,他将上述内存中的影封装起来提供给外界来展示,它将上述三者的结果表现出来。

    说完上述几者之间的关系,下面说说在画图时的坐标问题:

    如下图所示:

Android Canvas 绘图

    Canvas绘图时的坐标原点也是在左上角。

    好了关于Canvas绘图等之间的关系就先介绍到这里。