canvas教程

Html5 Canvas 画板实例详解

字号+ 作者:H5之家 来源:H5之家 2015-10-21 08:36 我要评论( )

好久没出了,说好的例子拖到了现在。这次说一个画板的例子,就像网页上很多的绘图游戏一样,以后用 Canvas 就可以实现,非常简单,这里只做一个建议的说明思路

好久没出了,说好的例子拖到了现在。这次说一个画板的例子,就像网页上很多的绘图游戏一样,以后用 Canvas 就可以实现,非常简单,这里只做一个建议的说明思路

代码

注意:本文的代码用了 jQuery,注意引入。

 代码如下 复制代码

myCanvas.lineWidth = 5
myCanvas.strokeStyle = "blue";
myCanvas.lineCap = "round";
var paint = 0 ;  
$( "#myCanvas" ).mousedown(function(e){
 var mouseX = e.pageX - this.offsetLeft;
 var mouseY = e.pageY - this.offsetTop;
 paint = 1;
 myCanvas.moveTo(mouseX, mouseY);
});
$( "#myCanvas" ).mouseup(function(e){
 paint = 0;
});
$( "#myCanvas" ).mousemove(function(e){
 var mouseX = e.pageX - this.offsetLeft;
 var mouseY = e.pageY - this.offsetTop;
 if( paint ){
  myCanvas.lineTo(mouseX, mouseY);
  myCanvas.stroke();
 }
});

解析

上边的代码,首先和之前话直线一样三个属性,之前没用过 lineCap,说的是直线首尾是什么样的,round 为圆角,为了让画的图没用那么生硬。

然后一个变量 paint 指定指针移动时是否允许画图,这个要说明下,我们要的效果是必须在鼠标按下并且指针在画布的有效区域才可以绘制,这个变量就是为了防止鼠标没有按下或者松开之后依然绘制。

mousedown() 事件,鼠标按下时,首先获得鼠标对于画布的相对坐标,然后把 paint 改成真,也就是允许绘制,并且建立起点。

mouseup() 事件,鼠标松开,把 paint 改成假,不允许继续绘制。

mousemove() 事件,鼠标移动,获取鼠标对于画布的相对坐标,然后如果 paint 为真,即允许绘制则建立一个点连线,并结束。

因为绘制的点巨多,所以就像乱七八糟的线一样~

 

Html5 Canvas 画板实例详解

这只是一个简单的例子,你当然可以留出几个按钮和输入框让用户自行控制线条宽度、样式以清空画布、保存绘制的图形之类的。

 

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

网友点评
f