文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

canvas怎么在html5 中使用

2023-06-09 21:09

关注

这期内容当中小编将会给大家带来有关canvas怎么在html5 中使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

<!DOCTYPE HTML><html><head> <meta charset="UTF-8"> <title>HTML5示例</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"  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;i<360;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>

上述就是小编为大家分享的canvas怎么在html5 中使用了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯