html5 canvas 使用示例

cj7182006

cj7182006

2016-02-19 12:43

今天图老师小编给大家精心推荐个html5 canvas 使用示例教程,一起来看看过程究竟如何进行吧!喜欢还请点个赞哦~

复制代码代码如下:
!DOCTYPE HTML
html
head
meta charset="UTF-8"
titleHTML5示例/title
style type="text/css"
#container{border:1px solid #ccc;width:800px;height:600px;position:relative;}
canvas{position:absolute;top:0px;left:0px;z-index:1;}
/style
/head
body
select id="tools"
option value="pen"铅笔/option
option value="line"直线/option
option value="rect"矩形/option
option value="circle"圆形/option
option value="ellipse"椭圆/option
/select
div id="container"
canvas id="canvas" width="800" height="600"/canvas
canvas id="canvas_temp" style="z-index:2;" width="800" height="600"/canvas
/div
script type="text/javascript"
var canvas = document.getElementById('canvas');
var context = canvas.getContext('2d');

var _canvas = document.getElementById('canvas_temp');
var _context = _canvas.getContext('2d');
var tools= document.getElementById('tools');

tools.onchange = function (e){
tool[this.value]();
};
var tool = {
pen:function (){
this.reset();
_canvas.onmousedown=function (e){
_context.moveTo(e.layerX,e.layerY);
_canvas.onmousemove=function (e){
_context.lineTo(e.layerX,e.layerY);
_context.stroke();
};
_canvas.onmouseup=function (e){
_canvas.onmousemove=null;
_canvas.onmouseup=null;
tool.updata();
};
};
},
line:function (){
this.reset();
_canvas.onmousedown=function (e){
var _e = e;
_canvas.onmousemove=function (e){
_context.clearRect(0,0,canvas.width,canvas.height);
_context.beginPath();
_context.moveTo(_e.layerX,_e.layerY);
_context.lineTo(e.layerX,e.layerY);
_context.stroke();
_context.closePath();
};
_canvas.onmouseup=function (e){
_canvas.onmousemove=null;
_canvas.onmouseup=null;
tool.updata();
};
}
},
rect:function (){
this.reset();
_canvas.onmousedown=function (e){
var _e = e;
_context.strokeStyle="#000";
_canvas.onmousemove=function (e){
_context.clearRect(0,0,canvas.width,canvas.height);
_context.strokeRect(_e.layerX,_e.layerY,e.layerX-_e.layerX,e.layerY-_e.layerY);
};
_canvas.onmouseup=function (e){
_canvas.onmousemove=null;
_canvas.onmouseup=null;
tool.updata();
};
}
},
circle:function (){
this.reset();
_canvas.onmousedown=function (e){
var _e = e;
_canvas.onmousemove=function (e){
_context.clearRect(0,0,canvas.width,canvas.height);
_context.beginPath();
_context.arc(_e.layerX,_e.layerY,e.layerX-_e.layerX,0,Math.PI*2,true);
_context.stroke();
_context.closePath();
};
_canvas.onmouseup=function (e){
_canvas.onmousemove=null;
_canvas.onmouseup=null;
tool.updata();
};
}
},
ellipse:function (){
this.reset();
_canvas.onmousedown=function (e){
var _e = e;
_canvas.onmousemove=function (e){
var st=0;
_context.clearRect(0,0,canvas.width,canvas.height);
_context.beginPath();
_context.moveTo(_e.layerX+(e.layerX-_e.layerX)*Math.cos(st), _e.layerY+(e.layerX-_e.layerX)*Math.sin(st));
st+=1/180*Math.PI;
for(var i=0;i360;i++){
_context.lineTo(_e.layerX+(e.layerX-_e.layerX)*Math.cos(st),_e.layerY+(e.layerY-_e.layerY)*Math.sin(st));
st+=1/180*Math.PI;
}
_context.stroke();
_context.closePath();
};
_canvas.onmouseup=function (e){
_canvas.onmousemove=null;
_canvas.onmouseup=null;
tool.updata();
};
}
},
reset:function (){
_canvas.onmousedown=null;
_canvas.onmouseup=null;
_canvas.onmousemove=null;
},
updata:function (){
context.drawImage(_canvas, 0, 0);
_context.clearRect(0, 0, canvas.width, canvas.height);
}
};
tool['pen']();
/script
/body
/html
展开更多 50%)
分享

猜你喜欢

html5 canvas 使用示例

Web开发
html5 canvas 使用示例

HTML5 Canvas标签使用收录

Web开发
HTML5 Canvas标签使用收录

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

HTML5 Canvas鼠标与键盘事件demo示例

Web开发
HTML5 Canvas鼠标与键盘事件demo示例

html5 offlline 缓存使用示例

Web开发
html5 offlline 缓存使用示例

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

HTML5 canvas 基本语法

Web开发
HTML5 canvas 基本语法

HTML5 Canvas概述

Web开发
HTML5 Canvas概述

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

面向对象编程:Java collection更有效管理elements

面向对象编程:Java collection更有效管理elements

html5 canvas 简单画板实现代码

html5 canvas 简单画板实现代码
下拉加载更多内容 ↓