canvas基本用法

短命女 2022-03-18 03:18 411阅读 0赞

canvas是一个强大的绘图及制作动画和游戏手段,下面介绍canvas利用js的API实现基本画图功能。

划线:

  1. <!DOCTYPE html>
  2. <html>
  3. <head lang="en">
  4. <meta charset="UTF-8">
  5. <title></title>
  6. <style>
  7. *{
  8. margin: 0;
  9. padding: 0;
  10. }
  11. html,body{
  12. width: 100%;
  13. height: 100%;
  14. overflow: hidden;
  15. }
  16. </style>
  17. </head>
  18. <body>
  19. <canvas id="can"></canvas>
  20. <script>
  21. //获取canvas元素
  22. var can=document.getElementById("can");
  23. //动态的设置宽和高
  24. //获取屏幕的可视区域宽高
  25. var window_w=document.documentElement.clientWidth;
  26. var window_h=document.documentElement.clientHeight;
  27. can.width=window_w;
  28. can.height=window_h;
  29. //操作canvas
  30. //转化为2d模式
  31. var content=can.getContext("2d");
  32. //使用js提供的API去绘制
  33. /*1.绘制线条*/
  34. /*设置线宽*/
  35. content.lineWidth=10;
  36. /*设置颜色*/
  37. content.strokeStyle="red";
  38. //画线的坐标
  39. content.moveTo(0,0);//起始坐标
  40. content.lineTo(400,400);//终止坐标
  41. content.stroke();//执行划线
  42. content.beginPath();//清空子路径,创建开始路径
  43. content.lineWidth=1;//线宽
  44. content.fillStyle="pink";//填充颜色
  45. content.strokeStyle="blue";//线的颜色
  46. content.moveTo(400,400);//起始位置
  47. content.lineTo(0,400);//终止位置
  48. content.lineTo(0,600);//终止位置(这样才会用到填充)
  49. content.stroke();//执行划线
  50. content.fill();//执行填充
  51. content.closePath();//闭合
  52. </script>
  53. </body>
  54. </html>

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0lDWV9fXw_size_16_color_FFFFFF_t_70

画板:

  1. var can=document.getElementById("can");
  2. //动态的设置宽和高
  3. //获取屏幕的可视区域宽高
  4. var window_w=document.documentElement.clientWidth;
  5. var window_h=document.documentElement.clientHeight;
  6. can.width=window_w;
  7. can.height=window_h;
  8. //操作canvas
  9. //转化为2d模式
  10. var content=can.getContext("2d");
  11. //使用js提供的API去绘制
  12. /*1.绘制线条*/
  13. /*设置线宽*/
  14. content.lineWidth=10;
  15. /*设置颜色*/
  16. content.strokeStyle="red";
  17. content.lineWidth=1;//线宽
  18. content.strokeStyle="blue";//线的颜色
  19. document.body.onmousedown=function (e){
  20. var x= e.pageX;//鼠标下落事件,为起点
  21. var y= e.pageY;
  22. content.moveTo(x,y);
  23. this.onmousemove=function (event){
  24. var x1= event.pageX;//鼠标移动事件,为中点
  25. var y1= event.pageY;
  26. content.lineTo(x1,y1);
  27. content.stroke();
  28. }
  29. }
  30. document.body.onmouseup=function (){
  31. this.onmousemove=null;//鼠标抬起时,不执行划线
  32. }

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0lDWV9fXw_size_16_color_FFFFFF_t_70 1

绘制矩形:

  1. //获取canvas元素
  2. var can=document.getElementById("can");
  3. //动态的设置宽和高
  4. //获取屏幕的可视区域宽高
  5. var window_w=document.documentElement.clientWidth;
  6. var window_h=document.documentElement.clientHeight;
  7. can.width=window_w;
  8. can.height=window_h;
  9. //操作canvas
  10. //转化为2d模式
  11. var content=can.getContext("2d");
  12. //绘制矩形
  13. content.fillStyle="red";
  14. content.lineWidth=3;
  15. content.strokeStyle="blue";
  16. content.strokeRect(200,200,400,200);//绘制矩形框
  17. content.fillRect(200,200,400,200);//填充矩形
  18. //清除
  19. content.clearRect(300,300,10,10);//相当于矩形状的橡皮擦

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0lDWV9fXw_size_16_color_FFFFFF_t_70 2

绘制圆:(主要代码)

  1. //绘制圆
  2. content.beginPath();
  3. content.strokeStyle="green";
  4. content.fillStyle="green";
  5. content.arc(700,350,200,0,Math.PI,true);//参数为 圆心坐标(x,y)、半径、起始角度、终止角度、是否逆时针
  6. content.fill();
  7. content.closePath();
  8. content.beginPath();
  9. content.fillStyle="red";
  10. content.arc(700,400,150,0,Math.PI*2,true);
  11. content.fill();
  12. content.closePath();

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0lDWV9fXw_size_16_color_FFFFFF_t_70 3

发表评论

表情:
评论列表 (有 0 条评论,411人围观)

还没有评论,来说两句吧...

相关阅读

    相关 canvas基本

    > canvas是一个强大的绘图及制作动画和游戏手段,下面介绍canvas利用js的API实现基本画图功能。 划线: <!DOCTYPE html> <ht