JS实现简单的Canvas画图实例
JS实现简单的Canvas画图实例
发布时间:2016-12-30 来源:查字典编辑
摘要:定义变量:[javascript]复制代码代码如下:varstartX;varstartY;varendX;varendY;varradiu...

定义变量:

[javascript]

复制代码 代码如下:

var startX;

var startY;

var endX;

var endY;

var radius;

var canvas = document.getElementById("myCanvas");

var context = canvas.getContext("2d");

var select = document.getElementsByTagName("select");

var startX;

var startY;

var endX;

var endY;

var radius;

var canvas = document.getElementById("myCanvas");

var context = canvas.getContext("2d");

var select = document.getElementsByTagName("select");

函数部分:

[javascript]

复制代码 代码如下:

window.onload=function() {

canvas.onmousedown = function(e) {

e = e || event;

startX = e.clientX;

startY = e.clientY;

if(select[0].value == "arc") {

canvas.onmousemove = moveShowArc;

} else {

canvas.onmousemove = moveShowRect;

}

}

canvas.onmouseup = function() {

canvas.onmousemove = "";

}

}

function moveShowRect(e) {

context.clearRect(0, 0, 500, 300);

endX = e.clientX - startX;

endY = e.clientY - startY;

context.beginPath();

context.rect(startX, startY, endX, endY);

context.fillStyle = "#8ED6FF";

context.fill();

context.lineWidth = 3;

context.strokeStyle = "black";

context.stroke();

}

function moveShowArc(e) {

context.clearRect(0, 0, 500, 300);

endX = e.clientX - startX;

endY = e.clientY - startY;

radius = Math.sqrt(Math.pow(endX,2)+Math.pow(endY,2));

context.beginPath();

context.arc(startX, startY,radius,0,2 * Math.PI,false);

context.fillStyle = "#8ED6FF";

context.fill();

context.lineWidth = 3;

context.strokeStyle = "black";

context.stroke();

}

window.onload=function() {

canvas.onmousedown = function(e) {

e = e || event;

startX = e.clientX;

startY = e.clientY;

if(select[0].value == "arc") {

canvas.onmousemove = moveShowArc;

} else {

canvas.onmousemove = moveShowRect;

}

}

canvas.onmouseup = function() {

canvas.onmousemove = "";

}

}

function moveShowRect(e) {

context.clearRect(0, 0, 500, 300);

endX = e.clientX - startX;

endY = e.clientY - startY;

context.beginPath();

context.rect(startX, startY, endX, endY);

context.fillStyle = "#8ED6FF";

context.fill();

context.lineWidth = 3;

context.strokeStyle = "black";

context.stroke();

}

function moveShowArc(e) {

context.clearRect(0, 0, 500, 300);

endX = e.clientX - startX;

endY = e.clientY - startY;

radius = Math.sqrt(Math.pow(endX,2)+Math.pow(endY,2));

context.beginPath();

context.arc(startX, startY,radius,0,2 * Math.PI,false);

context.fillStyle = "#8ED6FF";

context.fill();

context.lineWidth = 3;

context.strokeStyle = "black";

context.stroke();

}

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新Javascript教程学习
热门Javascript教程学习
编程开发子分类