canvas教程

Html5 canvas学习笔记

字号+ 作者:H5之家 来源:H5之家 2015-09-30 18:35 我要评论( )

Html5 canvas一般形式:

CSS/ target=_blank class=infotextkey>Html5 canvas一般形式:

<canvas id="" width="" height=""> 您的浏览器不支持canvas</canvas>
获取到的canvas元素会有getContext方法,该方法可以传进参数来获取上特定的下文变量,目前只支持"2d"这个参数,为将来做准备,可能支持"3d"js判断是否支持canvas,只需要判断获取的dom元素是否支持getContext即可

绘制矩形

     fillRect( x , y , width , height) ; // 绘制一个已经被填充的矩形,填充的样式根据前面设置的fillstyle
     strokeRect( x , y , width , height) ;// 画一个普通的矩形框,框的样式使用前面设置的strokeRect
     clearRect( x , y , width , height);// 清除相关矩形区域内的内容

 注意:画矩形与绘制路径不一样,这三个函数的效果会立刻在canvas是反映出来

 
绘制路径

需要步骤 : beginPath() , closePath() , stroke() , fill()
    
        第一步是使用beginPath在内存里创建一个路径,路径是以一组子路径的形式储存的,它们共同构成一个图形。每调用一次的beginPath,子路径都会被重置然后可以绘制新的图形。
        第二步就是实际绘制路径的部分
        第三步是调用closePath方法,它会尝试用直线连接当前端点与起始端点来关闭路径,但如果图形已经关闭或者只有一个点,它会什么都不做。这一步不是必须的。
        最后中一步是调用stroke和fill方法,这时图形才是实际的绘制到canvas上去,stroke是绘制边框,fill会填充出一个实心图形

 注意:当调用fill时,开放的路径会自动闭合,而无须调用closePath

 
绘制直线

使用lineTo来绘制直线, lineTo( x , y );

绘制弧线 使用arc来绘制弧线,arc( x , y , radius , startAngle , endAngle , anticlockwise )anticlockwise为true表示逆时针,默认为false表示顺时针


贝塞尔和二次方曲线

quadraticCurveTo( cp1x , cpy1 , x , y ); //二次方贝塞尔曲线

bezIErCurve( cp1x , cp1y , cp2x , cp2y , x , y) ;//三次方的贝塞尔曲线


矩形路径Rectangles
 
使用rect方法用于绘制矩形路径,rect( x , y , width , height )

使用图像

canvas可以用于图片合成或者制作背景等,而目前仅可以在图像中加入文字。

引入图片只需要简单的两步

    当然是来源图片,不是简单的URL,但可以是一个JAVAScript/ target=_blank class=infotextkey>JavaScript的image对象引用,又或者是其它的canvas元素。
    使用drawImage方法将图像插入到canvas中。

注意:只有等图片装载完成后才可以进行drawImage。

drawImage方法有三种形态:

    drawImage( image , x , y )   其中image是image或者canvas对象,x和y是其在目标canvas里的起始坐标
    drawImage( image , x , y , width , height ) 用于控制图像在canvas中缩放的参数
    drawImage( image , sx , sy , sWidth , sHeight , dx , dy , dWidth , dHeight ) 第一个是图像或者canvas对象,前面4个是切片的位置和大小,后4个则是定义切片的目标显示位置和大小

注意:getImageData 只有在网络图片,并且是在同一个域下的图片才有效

 

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

相关文章
  • html5canvas核心技术图形、动画与游戏开发源码

    html5canvas核心技术图形、动画与游戏开发源码

    2017-05-02 17:42

  • 打印html5中Canvas的方法

    打印html5中Canvas的方法

    2017-05-01 15:03

  • HTML5+Canvas调用手机拍照功能实现图片上传(下)

    HTML5+Canvas调用手机拍照功能实现图片上传(下)

    2017-04-30 17:00

  • HTML5新特性详解(三)

    HTML5新特性详解(三)

    2017-04-30 16:03

网友点评