canvas教程

自定义控件之绘图篇:Canvas与图层(一)(3)

字号+ 作者:H5之家 来源:H5之家 2017-08-27 18:01 我要评论( )

效果图如下: 在绘图时,我们先把小狗图片绘制在原始画布上的,然后新建一个大小为(0,0,100,100)大小的透明画布,然后再在这个画布上画一个(0, 0, 500, 600)的矩形。由于画布大小只有(0,0,100,100),所以(0, 0, 500

效果图如下:


在绘图时,我们先把小狗图片绘制在原始画布上的,然后新建一个大小为(0,0,100,100)大小的透明画布,然后再在这个画布上画一个(0, 0, 500, 600)的矩形。由于画布大小只有(0,0,100,100),所以(0, 0, 500, 600)这个矩形并不能完全显示出来,也只能显示出来(0,0,100,100)画布大小的部分。
那有些同学会说了,nnd,为了避免画布太小而出现问题,我每次都新建一个屏幕大小的画布多好,这样虽然是不会出现问题,但你想过没有,屏幕大小的画布需要多少空间吗,按一个像素需要8bit存储空间算,1024*768的机器,所使用的bit数就是1024*768*8=6.2M!所以我们在使用saveLayer新建画布时,一定要选择适当的大小,不然你的APP很可能OOM哦。
注意,注意:在我的例子中都是直接新建全屏画布的,因为写例子比较方便!!!!但是我这只是示例,在现实使用中,一定要适量的创建画布的大小哦!
2、saveLayerAlpha的用法 saveLayerAlpha的声明如下:

RectFboundssaveFlagsleftrightalpha,intsaveFlags)

相比saveLayer,多一个alpha参数,用以指定新建画布透明度,取值范围为0-255,可以用16进制的oxAA表示;
这个函数的意义也是在调用的时候会新建一个bitmap画布,以后的各种绘图操作都作用在这个画布上,但这个画布是有透明度的,透明度就是通过alpha值指定的。
我们来看个示例

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • HTML5 Canvas实现圆形并显示百分比的进度条实例详解

    HTML5 Canvas实现圆形并显示百分比的进度条实例详解

    2017-08-28 08:00

  • canvas一周一练 canvas基础学习

    canvas一周一练 canvas基础学习

    2017-08-27 16:00

  • UGUI初学习Canvas

    UGUI初学习Canvas

    2017-08-27 15:01

  • Canvas从入门到放弃(三)

    Canvas从入门到放弃(三)

    2017-08-27 12:01

网友点评
1