当前位置:   article > 正文

HTML5---Canvas-画线,空心图,矩形,文字,三角形,旋转图片_canvas三角形绘制文字

canvas三角形绘制文字
  1. </pre><pre name="code" class="html"><!doctype html>
  2. <html>
  3. <head></head>
  4. <body>
  5. <canvas width="800" height="800" style="background:#888" id="canvas">
  6. 您的浏览器当前版本不支持canvas标签
  7. </canvas>
  8. <script>
  9. //获取画布DOM 还不可以操作
  10. var canvas=document.getElementById('canvas');
  11. //设置绘图环境
  12. var cxt=canvas.getContext('2d');
  13. //画一条线段。
  14. cxt.beginPath(); //开启新路径
  15. cxt.lineWidth=10; //设定画笔的宽度
  16. cxt.strokeStyle="red"; //设置画笔的颜色
  17. cxt.moveTo(20,20); //设定笔触的位置
  18. cxt.lineTo(100,20); //设置移动的方式
  19. cxt.stroke(); //画线
  20. cxt.closePath(); //封闭路径
  21. //画一个空心圆形 凡是路径图形必须先开始路径,画完图之后必须结束路径
  22. cxt.beginPath();
  23. cxt.lineWidth=3; //重新设置画笔
  24. cxt.strokeStyle="green";
  25. cxt.arc(200,200,50,0,360,false);
  26. cxt.stroke();
  27. cxt.closePath();
  28. //画一个实心圆形
  29. cxt.beginPath();
  30. cxt.fillStyle="rgb(255,0,0)"; //设置填充的颜色
  31. cxt.arc(200,100,50,0,360,false);
  32. cxt.fill();
  33. cxt.stroke();
  34. cxt.closePath();
  35. //画一个矩形
  36. cxt.beginPath();
  37. cxt.rect(300,20,100,100);
  38. cxt.stroke();
  39. cxt.closePath();
  40. cxt.strokeRect(300,150,100,100); //其他方法 建议使用此方式
  41. //实心矩形
  42. cxt.beginPath();
  43. cxt.rect(300,270,100,100);
  44. cxt.fill();
  45. cxt.closePath();
  46. cxt.fillRect(300,390,100,100);
  47. //设置文字
  48. cxt.font="40px 宋体"; //css font属性
  49. cxt.fillText("canvas",20,300);
  50. cxt.lineWidth=1; //将笔触设置为1像素
  51. cxt.strokeText("canvas",20,350);
  52. //画图 把一幅图片画到画布中 注意webkit内核的浏览器 chrome和猎豹不支持
  53. var img =new Image();
  54. img.src="xiaomm.jpg";
  55. cxt.drawImage(img,20,370,230,306);
  56. //画一个三角形
  57. cxt.beginPath();
  58. cxt.moveTo(300,500); //移动至开始点
  59. cxt.lineTo(300,600);
  60. cxt.lineTo(400,550);
  61. cxt.closePath();//填充或者画路径需要先闭合路径再画
  62. cxt.stroke();
  63. //实心
  64. cxt.beginPath();
  65. cxt.moveTo(300,600); //移动至开始点
  66. cxt.lineTo(300,700);
  67. cxt.lineTo(400,650);
  68. cxt.closePath();
  69. cxt.fill();
  70. //旋转条形
  71. //设置旋转环境
  72. cxt.save();
  73. cxt.translate(10,10); //在异次元空间重置0,0点的位置
  74. cxt.rotate(-350*Math.PI/180); //设置旋转角度 参数是弧度 角度 0-360 弧度=角度*Math.PI/180
  75. cxt.lineWidth=10; //旋转一个线段
  76. cxt.beginPath();
  77. cxt.moveTo(0,0);
  78. cxt.lineTo(20,100);
  79. cxt.stroke();
  80. cxt.closePath();
  81. //将旋转之后的元素放回原画布
  82. cxt.restore();
  83. //旋转图片
  84. cxt.save();
  85. cxt.translate(20,370);
  86. cxt.rotate(-50*Math.PI/180);
  87. var img = new Image();
  88. img.src="ccc.jpg";
  89. cxt.drawImage(img,0,0,230,306);
  90. cxt.restore();
  91. //上面代码会产生一个小圆点,每隔30毫秒就向右下方移动的效果。setInterval函数的一开始,之所以要将画布重新渲染黑色底色,是为了抹去上一步的小圆点先上升后下降
  92. /*
  93. var posX = 20,
  94. posY = 100;
  95. setInterval(function() {
  96. cxt.fillStyle = "black";
  97. cxt.fillRect(0,0,canvas.width, canvas.height);
  98. posX += 1;
  99. posY += 0.25;
  100. cxt.beginPath();
  101. cxt.fillStyle = "white";
  102. cxt.arc(posX, posY, 10, 0, Math.PI*2, true);
  103. cxt.closePath();
  104. cxt.fill();
  105. }, 30);
  106. */
  107. </script>
  108. </body>
  109. </html>



本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/寸_铁/article/detail/742892
推荐阅读
相关标签
  

闽ICP备14008679号