源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

JS实现简单的Canvas画图实例

  • 时间:2022-04-03 06:35 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:JS实现简单的Canvas画图实例
[b]定义变量: [/b][javascript]
[u]复制代码[/u] 代码如下:
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");
[b]函数部分: [/b][javascript]
[u]复制代码[/u] 代码如下:
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(); }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部