JS实现简单的Canvas画图实例
2018-10-12 13:51
656 查看
定义变量:
[javascript]
函数部分:
[javascript]
[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画图实例
- js+canvas实现简单的五子棋游戏
- js实现StringBuffer的简单实例
- jQuery实例―选项卡的简单实现(js源码和jQuery)
- JS实现遮罩层效果的简单实例
- JS+Canvas实现的俄罗斯方块游戏完整实例
- js实现简单锁屏功能实例
- js+canvas实现简单绘图
- Avalonjs 实现简单购物车功能(实例代码)
- 纯js实现html转pdf的简单实例(推荐)
- js实现简单的省市县三级联动效果实例
- js操作数据库实现注册和登陆的简单实例
- 原生js实现数字字母混合验证码的简单实例
- js实现省市联动效果的简单实例
- 用js实现简单算法的实例代码
- 使用Node.js实现一个简单的FastCGI服务器实例
- JS实现简单面向对象的颜色选择器实例
- js简单实现标签云效果实例
- JS基于HTML5的canvas标签实现炫目的色相球动画效果实例
- canvas实现简单的画图功能