h5新特性:canvas标签(补充)

    上下文对象 = painter

1.透明度

    语法:painter.globalAlpha = 0~1;

    任何操作都要在fill()之前

2.线性

    1)设置线宽

        painter.lineWidth = number;

    2)端点

        painter.linCap = 端点类型;

        类型:

        butt:无端点,

        round:圆弧端点

        square:方块端点

    3)设置连接类型

        painter.lineJoin="连接类型";

        round:圆弧

         level:截面

        miter:直角

       4)设置虚线

            pointer.setLineDash(第一段长度,第二段长度……)

        5)设置偏移

            pointer.lineDashOffset = 数值;(配合虚线使用)

3.渐变

    1)线性渐变

        pointer.createLinerGradeent(开始横坐标,开始纵坐标,结束横坐标,结束纵坐标)

        .addColorStop(0,‘green’);

    2)径向渐变

        pointer.createRadiaGradient(开始横坐标,开始纵坐标,开始r坐标,结束横坐标,结束纵坐标,借宿r坐标);

3.阴影与文字

        1)阴影

        pointer.shadowColor = "颜色";

        pointer.shadowBlur = "模糊数值";

        pointer.shadowOffsetY = "垂直偏移距离";

注意:阴影的设置必须在canvas之前,写在之后会导致绘制内容失败

        2)文字

            pointer.font = "大小  字体";

            pointer.fillText(‘text content’,文本x 文本Y);

4.图片绘制

    注意:必须等到图片onload完成后,在上屏,否则就会绘制失败

    关键方法:pointer.drawImage();

    相关方法:

      pointer.drawImage(img,x,y);

       pointer.drawImage(img,x,y,w,h);

        pointer.drawImage(img,裁切x,裁切y,裁切宽度,裁切高度);

5.转换与变形

        注意:

    在canvas中变换是变化整个画布,而不是变换图形,所有的变换都必须在变换开始之前

    先保存画布状态

    所有变化结束后

    再保存画布状态

    以达到只改变目标图形的变换效果

    1)translate(x,y) 位移变换

    2)rotate(x,y)旋转变换

    3)scale(x,y)比例变换

6.合成

    pointer.globalCompositeOperation = '不同的绘制方式'

    source-over    在上面画

    source-in    在上面画,背景透明,溢出隐藏

    source-out 在上面画,背景透溢出处现实

    source-atop    在上面画 溢出隐藏

    destination-over 在下面,同上

   destination-in

    destination-out

    destination-astop

    lighter 堆叠

    copy 绘制显示,原图隐藏

    xor 异或

7.像素集操作

1)创建指定绘制区域:pointer.createImageData(区域w,区域h)

    说明:a 本方法会返回一个数组

               b 数组长度是w*h*4

               c 数组中每4个像素代表一个像素:r g b a

   2)获取指定区域元素

    pointer.getImageData(x,y,w,h);

    3)绘制指定区域元素

       pointer.putImageData(imageData,x,y) ;


猜你喜欢

转载自blog.csdn.net/amily8023/article/details/80369981