最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

使用html5的canvas和JavaScript创建一个绘图程序的示例代码

来源:动视网 责编:小OO 时间:2020-11-27 15:11:24
文档

使用html5的canvas和JavaScript创建一个绘图程序的示例代码

本文将引导你使用canvas和JavaScript创建一个简单的绘图程序。首先准备容器Canvas元素,接下来所有的事情都会在JavaScript里面。XML/HTML Code复制内容到剪贴板<;canvas id=";canvasInAPerfectWorld";width=";490";height=";220";>;<;/canvas>;。获取绘图环境,context对象提供了用于在画布上绘图的方法和属性。
推荐度:
导读本文将引导你使用canvas和JavaScript创建一个简单的绘图程序。首先准备容器Canvas元素,接下来所有的事情都会在JavaScript里面。XML/HTML Code复制内容到剪贴板<;canvas id=";canvasInAPerfectWorld";width=";490";height=";220";>;<;/canvas>;。获取绘图环境,context对象提供了用于在画布上绘图的方法和属性。


下面小编就为大家带来一篇用html5的canvas和JavaScript创建一个绘图程序的简单实例。小编觉得挺不错的, 现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

本文将引导你使用canvas和JavaScript创建一个简单的绘图程序。

首先准备容器Canvas元素,接下来所有的事情都会在JavaScript里面。

XML/HTML Code复制内容到剪贴板
<canvas id="canvasInAPerfectWorld" width="490" height="220"></canvas>

获取绘图环境,context对象提供了用于在画布上绘图的方法和属性

context = document.getElementById('canvasInAPerfectWorld').getContext("2d");

开始绘图过程

首先我们需要存储绘图路径点坐标,addClick函数添加坐标点值到数组

var clickX = new Array(); 
var clickY = new Array(); 
var clickDrag = new Array();//存储路径点 
var paint;//是否绘制,mousedown时置为true 
function addClick(x, y, dragging) 
{ 
 clickX.push(x); 
 clickY.push(y); 
 clickDrag.push(dragging); 
}

redraw函数每次调用整个canvas就会重新绘制一次。首先我们清空画布上内容,设置绘制线条颜色粗细线条连接方式。然后

两点之间绘制一段路径,将数组中的坐标点依次绘制出来

function redraw(){ 
 context.clearRect(0, 0, context.canvas.width, context.canvas.height); // 清除画布内容 
 context.strokeStyle = "#df4b26";//设置线条颜色 
 context.lineJoin = "round";//当两条线条交汇时,创建圆形边角 
 context.lineWidth = 5;//线条粗细 
 for(var i=0; i < clickX.length; i++) { 
 context.beginPath();//开始一条路径,或重置当前的路径 
 if(clickDrag[i] && i){ 
 context.moveTo(clickX[i-1], clickY[i-1]); 
 }else{ 
 context.moveTo(clickX[i]-1, clickY[i]); 
 } 
 context.lineTo(clickX[i], clickY[i]); 
 context.closePath(); 
 context.stroke();//绘制路径 
 } 
}

绘制过程需要的事件

1 mousedown事件

绘图这点击到画布上时,将触发该事件执行。调用了addClick函数,并将paint置为true。

$('#canvas').mousedown(function(e){ 
 var mouseX = e.pageX - this.offsetLeft; 
 var mouseY = e.pageY - this.offsetTop; 
 paint = true; 
 addClick(e.pageX - this.offsetLeft, e.pageY - this.offsetTop); 
 redraw(); 
});
  • 2 mousemove事件

    mousedown中设置的paint为true后,鼠标移动时触发mousemove事件执行,将鼠标移动的所有点记录下来,并不断调用redraw重绘画布。

    $('#canvas').mousemove(function(e){ 
     if(paint){ 
     addClick(e.pageX - this.offsetLeft, e.pageY - this.offsetTop, true); 
     redraw(); 
     } 
     });

    3 mouseup事件

    mouseup鼠标点击后松开或者拖拽后松开,表示绘制完成该路径,将paint置为false。

    $('#canvas').mouseup(function(e){ 
     paint = false; 
     });

    4 mouseleave事件

    mouseleave鼠标离开canvas元素,将paint置为false。

    $('#canvas').mouseleave(function(e){ 
     paint = false; 
    });

    文档

    使用html5的canvas和JavaScript创建一个绘图程序的示例代码

    本文将引导你使用canvas和JavaScript创建一个简单的绘图程序。首先准备容器Canvas元素,接下来所有的事情都会在JavaScript里面。XML/HTML Code复制内容到剪贴板<;canvas id=";canvasInAPerfectWorld";width=";490";height=";220";>;<;/canvas>;。获取绘图环境,context对象提供了用于在画布上绘图的方法和属性。
    推荐度:
    标签: 一个 画图 html5
    • 热门焦点

    最新推荐

    猜你喜欢

    热门推荐

    专题
    Top