Canvas API

xiaoxiao2021-02-28  105

1、Canvas本质上是一个画布,在它上面绘制的图形是不可以缩放的。此外,使用Canvas绘制出来的对象不属于页面DOM结构或者任何命名空间。

2、HTML5 <canvas>元素用于图形绘制,通过脚本(通常是JavaScript)来完成。 <canvas>标签只是图形容器,你必须使用脚本来绘制图形。

3、通过Canvas路径可以绘制任何形状。绘制形状时,先绘制轮廓,再绘制边框和填充。 创建自定义形状很简单,使用beginPath()开始绘制,这个函数不带任何参数,它用来通知Canvas将要开始绘制一个新的图形了,然后使用直线、曲线、和其他图形绘制图形。调用了beginPath之后,就可以使用context的各种方法来绘制想要的形状了。        例如:moveTo(x,y)—该函数不进行绘制,只是将当前位置移动到新的目标坐标(x,y)。                  lineTo(x,y)该函数不仅将当前位置移动到新的目标坐标(x,y),而且在两个坐标之间画一条线。 绘制完毕后调用fill和stroke即可添加填充或着设置边框。 调用closePath()结束自定义图形绘制。closePath()函数的行为通lineTo很类似,唯一的差别在于closePath会将路径的起始坐标自动作为目标坐标。 

                                                    

5、在HTML5 Canvas API中变换绘图方式,通过变换函数,可以对绘制的图形进行空间坐标的平移、缩放和旋转操作。在应用的时候可以被顺序应用、组合或者随意修改。 对于绘制图形进行变换操作,通常有3个方法可以调用:translate()、scale()和rotate() translate() 调用该方法,可以对绘制图形的空间坐标进行转换,例如绘制图形的起点坐标是(0,0),通过该方法可以将空间坐标转换为(100,100)。这样绘制的图形就进行了相应的平移 scale() 调用该方法,可以对绘制的图形沿着x、y坐标进行缩放。单位是浮点数。例如:。0.5 代表缩放50%。

rotate() 调用该方法,可以对绘制的图形进行旋转。单位是浮点数。

                                                                     

6、一般再绘制图形的时候,要绘制多个图形元素,那么变换操作可能只是对其中某一个元素进行操作。为了不影响后续的绘制过程。在变换前,应该调用save()方法把当前状态保存起来,变换操作完毕之后,再通过调用restore()方法,来重置之前的绘图状态。这样就不会影响后续的Canvas操作。

7、在Canvas中显示图片非常简单。可以通过修正层为图片添加印章、拉伸图片或修改图片等。并且图片通常会成为Canvas上的焦点。 在Canvas中插入图片时,需要调用drawImage()方法。

                                                                     

8、绘制文字

context上下文对象,可以设置一些text属性. font文字字体,同CSS font-family属性 textAlign文字水平对齐方式。可以取属性值:start默认、end、left、right、center 例如,文字水平对齐方式 textBaseLine 文字竖直对齐方式,可取值:top、hanging、middle、alphabetic、ideographic、bottom。默认值:alphabetical。 例如,文字集显对齐方式 有两个方法可以绘制文字: fillText(text,x,y,maxwidth)//填充文字 strokeText(text,x,y,maxwidth)//轮廓文字

                                                                  

9、在HTML5 Canvas中,除了可以绘制图形、填充颜色之外,同样可以向Photoshop软件中的渐变工具一样,绘制渐变对象。 要绘制渐变对象有两种方法(这两个方法同时可以应用与填充和线条): a、createLinearGradient()       该方法创建线性颜色渐变,它在指定的起始点和结束点之间线性的填充颜色       createLinearGradient(xStart,Ystart,xEnd,Yend);                                         起始点坐标     终止点坐标 b、 createRadialGradient()       该方法创建径向渐变,它再两个指定圆的圆周之间径向填充颜色       createRadialGradient(xStart,YStart,radiusStart,xEnd,yEnd,radiusEnd);        参数说明:              参数                       功能说明             xStart,yStart           开始圆的圆心的坐标             radiusStart             开始圆的直径             xEnd,yEnd             结束圆的圆心的坐标             radiusEnd               结束圆的直径

                                                                  

                                                                    

转载请注明原文地址: https://www.6miu.com/read-41579.html

最新回复(0)