代码Canvas.htm

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <title>canvas简单应用画各种图形状</title>
  5. </head>
  6. <!--<script language="javascript" src="jquery-1.8.3.js"></script>-->
  7. <script language="javascript" type="text/javascript">
  8. //通过画线段构造三角形
  9. function draw_triangle(x1,y1,x2,y2,x3,y3){
  10. var c = document.getElementById("canvas1");
  11. var cxt = c.getContext("2d");
  12. cxt.moveTo(x1,y1);
  13. cxt.lineTo(x2,y2);
  14. cxt.lineTo(x3,y3);
  15. cxt.lineTo(x1,y1);
  16. cxt.stroke();
  17. }
  18. //画三角进一步封装
  19. function draw(){
  20. draw_triangle(100,50,300,200,150,100);
  21. }
  22. //向canvas原型对象添加画扇形方法
  23. CanvasRenderingContext2D.prototype.selector=function(x,y,radius,sDeg,eDeg){
  24. //保存初始状态
  25. this.save();
  26. // 位移到目标点
  27. this.translate(x, y);
  28. this.beginPath();
  29. // 画出圆弧
  30. this.arc(0,0,radius,sDeg, eDeg);
  31. // 再次保存以备旋转
  32. this.save();
  33. // 旋转至起始角度
  34. this.rotate(eDeg);
  35. // 移动到终点,准备连接终点与圆心
  36. this.moveTo(radius,0);
  37. // 连接到圆心
  38. this.lineTo(0,0);
  39. // 还原
  40. this.restore();
  41. // 旋转至起点角度
  42. this.rotate(sDeg);
  43. // 从圆心连接到起点
  44. this.lineTo(radius,0);
  45. this.closePath();
  46. // 还原到最初保存的状态
  47. this.restore();
  48. return this;
  49. }
  50. function b(){
  51. var c = document.getElementById("canvas1");
  52. var cxt = c.getContext("2d");
  53. //画线
  54. /**cxt.moveTo(10,10);
  55. cxt.lineTo(60,80);
  56. cxt.stroke();**/
  57. //画图片
  58. /*cxt.beginPath();
  59. var img = new Image();
  60. img.src = 'b.jpg';
  61. img.onload=function(){
  62. cxt.drawImage(img,0,0);*/
  63. //画圆环
  64. /*cxt.clearRect(0,0,1200,400);
  65. cxt.beginPath();
  66. cxt.arc(300,100,60,Math.PI*2,false);
  67. cxt.closePath();
  68. cxt.fill();
  69. cxt.fillStyle="white";
  70. cxt.beginPath();
  71. cxt.arc(300,100,50,Math.PI*2,false);
  72. cxt.closePath();
  73. cxt.fill();*/
  74. //画圆弧
  75. cxt.selector(100,100,50,0,Math.PI*0.75);
  76. }
  77. </script>
  78. <body onload="b();">
  79. <!--<canvas id="cans" width="500px" height="300px" style="border:1px solid red;">浏览器不支持canvas</canvas>-->
  80. <canvas id="canvas1" width="1200" height="400" style="border:1px solid red">浏览器不支持该功能</canvas>
  81. <button onclick="draw()">start</button>
  82. </body>
  83. </html>

  

运行效果:三角和圆弧

canvas常用画法整理的更多相关文章

  1. NiosII常用函数整理

    NiosII常用函数整理 IO操作函数函数原型:IORD(BASE, REGNUM) 输入参数:BASE为寄存器的基地址,REGNUM为寄存器的偏移量函数说明:从基地址为BASE的设备中读取寄存器中偏 ...

  2. MAC机常用快捷键整理表格

    MAC机常用快捷键整理表格 范围 快捷键 说明 图形   (Command 键)在某些 Apple 键盘上,此键也可能为标志()     Control (Control 键)     Alt Opt ...

  3. sublime常用快捷键整理(未完待续)

    sublime常用快捷键整理: 基本操作 cmd+o 打开文件 cmd+w 关闭当前tab cmd+n 打开新页 cmd+shift+n 打开刚刚关闭的页签 一.选择命令 1.多个单词选择 cmd+d ...

  4. zendStudio常用快捷键整理

    在来一发zendstudio的常用快捷键整理,今天心情不错哈哈 Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ct ...

  5. 常用DOM整理

    常用DOM整理   前言: html为document搭建了一棵DOM树,这棵树就是有一系列Node节点所构成的.他为我们定义了文档的结构. Node类型: Node.ELEMENT_NODE(1); ...

  6. NSIS常用代码整理

    原文 NSIS常用代码整理 这是一些常用的NSIS代码,少轻狂特意整理出来,方便大家随时查看使用.不定期更新哦~~~ 1 ;获取操作系统盘符 2 ReadEnvStr $R0 SYSTEMDRIVE ...

  7. javascript中字符串常用操作整理

    javascript中字符串常用操作整理 字符串的操作在js中非常频繁,也非常重要.以往看完书之后都能记得非常清楚,但稍微隔一段时间不用,便会忘得差不多,记性不好是硬伤啊...今天就对字符串的一些常用 ...

  8. Win7常用快捷键整理

    Win7常用快捷键整理.. -------------------- Win + Pause:显示系统属性对话框 ------------------------------------ Win7系统 ...

  9. python 常用库整理

    python 常用库整理 GUI 图形界面 Tkinter: Tkinter wxPython:wxPython pyGTK:PyGTK pyQt:pyQt WEB框架 django:django w ...

随机推荐

  1. Linux下Redis C++操作的封装

    安装和启动Redis服务...略!很粗糙的版本,待改进... Redis Client C++示例代码...略! /** * Time: 14-3-10 * File: RedisCache.h * ...

  2. Struts2基础知识

    1.什么是Struts2框架? 答:struts2是一款优秀的mvc框架,集中解决了Controlller的相关问题,解决了部分视图相关的问题(struts2标签): mvc 是一种思想,包括Mode ...

  3. JS倒计时,距离某一日期还有多少时间

    JS计算从现在到某个时刻还有多少时间,显示当前日期时间距离x年x月x日还有x天x小时x分钟x秒,如果给定时间比当前时间更早,则显示为距离2012-9-30已过去1天22小时26分30秒的格式,如果给定 ...

  4. LA-5059(组合游戏)

    题意: 有n堆石子,分别有a1,a2,...,an个,两个游戏者轮流操作,每次可以选一堆m拿走至少一个且不超过一半的石子,谁不能拿石子就算输; 思路: a1太大打印sg表找规律,然后就是异或和了; A ...

  5. Linux vSphere SDK for Perl 执行脚本报错

      本人在gentoo系统上安装完vSphere for Perl之后,执行/usr/lib/vmware-viperl/app/vm/vminfo.pl脚本. 提示错误如下: Server vers ...

  6. CodeForces990G:GCD Counting(树分治+GCD)

    You are given a tree consisting of nn vertices. A number is written on each vertex; the number on ve ...

  7. python 基础之第九天

    ###############错误和异常######################## 说明:e 是错误的具体原因,else 表示没有异常才会执行else的语句,finally 是无乱有没异常都要执 ...

  8. 光流 LK 金字塔

    文章转载自:https://blog.csdn.net/sgfmby1994/article/details/68489944 光流是图像亮度的运动信息描述,这种运动模式指的是由一个观察者(比如摄像头 ...

  9. html5 WebWorkers 防止浏览器假死

    在Web开发的时候经常会遇到浏览器不响应事件进入假死状态,甚至弹出“脚本运行时间过长“的提示框,如果出现这种情况说明你的脚本已经失控了. 一个浏览器至少存在三个线程:js引擎线程(处理js).GUI渲 ...

  10. asio 中strand的作用

    namespace { // strand提供串行执行, 能够保证线程安全, 同时被post或dispatch的方法, 不会被并发的执行. // io_service不能保证线程安全 boost::a ...