客户管理系统开发定制Canvas绘图基础

目录


一、什么是Canvas?

canvas就是画布,可以画线,图形,填充,客户管理系统开发定制图像绘制等操作。

canvas客户管理系统开发定制不仅提供简单的二维绘图,客户管理系统开发定制也提供三维绘图。

二、Canvas元素的定义(写在html文件的body中)

<canvas id=“myCanvas” width=200 height=100 >

.............

</canvas>

  • id 是canvas元素的标识;
  • height是canvas画布的高度,单位为像素;
  • width是canvas画布的宽度,单位为像素。

三、使用JavaScript获取网页中的Canvas对象

获取对象的方法:document.getElementById(对象id)

获取canvas对象的2D绘图上下文:getContext(“2d”)

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>canvas</title>
  6. <style type="text/css">
  7. body {
  8. background-color: antiquewhite;
  9. }
  10. #canvas {
  11. background-color: bisque;
  12. margin-top: 100px;
  13. margin-left: 200px;
  14. }
  15. </style>
  16. </head>
  17. <body>
  18. <canvas id="canvas" width="1000" height="500">
  19. <script>
  20. var mycanvas = document.getElementById('canvas');
  21. var context = mycanvas.getContext(‘2d’);
  22. ....
  23. </script>
  24. </canvas>
  25. </body>
  26. </html>

 如图:body颜色为浅,画布颜色为深,圆圈圈住的为画布的(0,0)像素

四、

(1)绘制直线

  • 调用beginPath()方法,指示开始绘图路径: ctx.beginPath();
  • 调用moveTo()方法将坐标移至直线起点: ctx.moveTo(x,y);
  • 调用lineTo()方法绘制直线: ctx.lineTo(x,y);
  • 调用stroke()方法,绘制图形的边界轮廓: ctx.stroke();
  • 调用closePath()方法,指示闭合绘图路径: ctx.closePath();

 注:x表示水平方向的像素点,y表示垂直方向的像素点,下图黑点用(x,y)表示成(4,3)

 代码实例:

  1. <script>
  2. var mycanvas=document.getElementById("canvas");
  3. var ctx=mycanvas.getContext("2d");
  4. ctx.beginPath();
  5. ctx.moveTo(100,200);
  6. ctx.lineTo(400,200);
  7. ctx.lineTo(250,400);
  8. ctx.closePath();
  9. ctx.strokeStyle="#000000";
  10. ctx.stroke();
  11. </script>

 效果如下图所示:

(2)绘制矩形

绘制矩形:rect(x,y,width,height); 

绘制矩形边框:strokeRect(x, y, width, height);

绘制填充矩形:(x, y, width, height);

擦除指定矩形区域:clearRect(x, y, width, height);

  • x:矩形左上角的X坐标;
  • y:矩形左上角的y坐标;
  • width:矩形的宽度;
  • height:矩形的高度

代码实例: 

  1. <script>
  2. var mycanvas=document.getElementById("canvas");
  3. var ctx=mycanvas.getContext("2d");
  4. //rect()函数调用
  5. ctx.beginPath();
  6. ctx.rect(20,20,100,50);
  7. ctx.stroke();
  8. //strokeRect()函数调用
  9. ctx.strokeRect(200,20,150,60);
  10. //fillRect()函数调用
  11. ctx.fillRect(400,20,150,60);
  12. </script>

效果如下图所示: 

 

 注:strokeRect()方法与rect()方法的区别在于调用strokeRect()方法时不需要使用beginPath()和stroke()即可绘图。

(3)绘制圆弧

arc(centerx,centery,radius,startAngle,endAngle,antiClockwise);

  • centerx,centery    圆弧中心点坐标
  • Radius 半径
  • startAngle  起始弧度
  • endAngle  终止弧度
  • antiClockwise  是否按逆时针方向绘图,    是一个可选参数,默认为false(即顺时针方向绘图)
  • 弧度 = 角度* ( Math.PI / 180 )

代码实例:

  1. <script>
  2. var mycanvas=document.getElementById("canvas");
  3. var ctx=mycanvas.getContext("2d");
  4. //arc()函数调用
  5. ctx.beginPath();
  6. ctx.arc(100,150,70,0,90*Math.PI/180,true);
  7. ctx.stroke();
  8. </script>

 效果如下图所示:

 注:起始弧度 到 终止弧度是顺时针计算的

(4)填充和描边

1.描边

        strokeStyle指定描边颜色(三种颜色方式均可)

        lineWidth指定描边宽度(像素为单位)

2.填充

        fillStyle指定填充颜色(三种颜色方式均可)

代码实例:

  1. <script>
  2. var mycanvas = document.getElementById("canvas");
  3. var ctx = mycanvas.getContext("2d");
  4. ctx.moveTo(20, 20);
  5. ctx.lineTo(100, 100);
  6. ctx.lineTo(100, 0);
  7. ctx.strokeStyle = "#0000FF";
  8. ctx.stroke();
  9. ctx.beginPath();
  10. ctx.moveTo(120, 20);
  11. ctx.lineTo(200, 100);
  12. ctx.lineTo(200, 0);
  13. ctx.fillStyle = "pink";
  14. ctx.fill();
  15. </script>

效果如下图所示:

 由于ctx.strokeStyle = "#0000FF";(蓝色),ctx.fillStyle = "pink";(粉色)所以边框颜色是蓝色,填充颜色为粉色。

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发