Posted in Javascript onJuly 04, 2013
定义变量:
[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(); }
JS实现简单的Canvas画图实例
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@