canvas基础——绘制简单的图形

绘制直线:

HTML部分:

1 <canvas id="myCanvas" style="border:1px solid #000;" width="200px" height="100px"></canvas>

JS部分:

1 window.onload = function(){
2     var c = document.getElementById(‘myCanvas‘);
3     var context = c.getContext(‘2d‘);
4     context.moveTo(0,0);    //起点坐标
5     context.lineTo(200,100);  //终点坐标
6     context.stroke();        //绘制直线
7 };

绘制直线中使用了3个方法:moveTo,lineTo和stroke.

其中moveTo方法用于创建新的子路径,并规定起始坐标点为(x,y),即moveTo(x,y);

linTo方法用于从moveTo方法规定的起始坐标点开始绘制一条到规定坐标的直线,即lineTo(x,y);

上面两个方法规定了直线路径的起点和终点,而stroke方法用于沿着该路径绘制一条直线。

绘制矩形:

JS代码:

1 var c = document.getElementById(‘myCanvas‘);
2     var context = c.getContext(‘2d‘);
3     context.fillStyle = ‘red‘;
4     context.fillRect(0,0,100,50);
5     context.strokeStyle = ‘white‘;
6     context.strokeRect(0,0,50,25);

在上面的代码中,fillStyle属性用于指定要绘制的图形的填充颜色,而fillRect方法用于以指定的颜色填充一个矩形,括号中的参数用于指定矩形的坐标位置和大小。

fill是填充,stroke是轮廓,所以用strokeStyle和strokeRect方法绘制矩形轮廓。

绘制圆形:

1 var c = document.getElementById(‘myCanvas‘);
2     var context = c.getContext(‘2d‘);
3     context.fillStyle = ‘red‘;
4     context.beginPath();
5     context.arc(100,75,50,0,Math.PI*2,true);
6     context.closePath();
7     context.fill();

圆形的绘制仍然是采用路径并填充颜色的方法。

beginPath():开始绘制路径

closePath():用于结束绘制路径

arc():用于绘制圆形

用法:context.ar(x,y,radius,startAngle,endAngle,anticlockwise)

arc方法本意是绘制弧线,当采用适当的参数后即可绘制圆形,参数中的x,y为起点坐标,radius为圆形的半径,startAngle为开始的角度,

endAngle为结束的角度,anticlockwise为是否逆时针(true)为逆时针,(false)为顺时针方向进行绘制。

绘制圆弧实例

1 var c = document.getElementById(‘myCanvas‘);
2     var context = c.getContext(‘2d‘);
3     for(var i = 0; i<10; i++){
4         context.strokeStyle = ‘red‘;
5         context.beginPath();
6         context.arc(0,150,i*15,0,Math.PI*3/2,true);
7         //context.closePath();
8         context.stroke();
9     }

这里最后一句的stroke方法用于在显示设备中输出线条,这里少了一句closePath,即没有闭合路径。

绘制三角形:

 1 var c = document.getElementById(‘myCanvas‘);
 2     var context = c.getContext(‘2d‘);
 3      context.fillStyle = ‘red‘;
 4     context.beginPath();
 5     context.moveTo(25,25);
 6     context.lineTo(150,25);
 7     context.lineTo(25,150);
 8     context.closePath();
 9     context.fill();
10     //context.strokeStyle = ‘blue‘;
11     //context.stroke();
12 };

通过4到8行之间的代码,实现三角路径的绘制。

时间: 2024-10-23 17:36:09

canvas基础——绘制简单的图形的相关文章

canvas基础绘制-绚丽倒计时

效果图: html: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>ball</title> <script src="digit_1.js"></script> <script src="countdown.js"></

canvas基础绘制-绚丽时钟

效果图: 与canvas基础绘制-绚丽倒计时的代码差异: // var endTime = new Date();//const声明变量,不可修改,必须声明时赋值: // endTime.setTime( endTime.getTime() + 3600*1000);//当前时间向后一小时: var curShowTimeSeconds = 0; function getCurrentShowTimeSeconds() { var curTime = new Date();//获取目前时间: /

canvas高效绘制10万图形,你必须知道的高效绘制技巧

最近的一个客户项目中,简化的需求是绘制按照行列绘制很多个圆圈.需求看起来不难,上手就可以做,写两个for循环. 原始绘制方法 首先定义了很多Circle对象,在遍历循环中调用该对象的draw方法.代码如下: for (var i = 0; i < column; i++) { for (var j = 0; j < row; j++) { var circle = new Circle({ x: 8 * i + 3, y: 8 * j + 3, radius: 3 }) box.push(ci

canvas基础绘制-arc

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>arc</title> </head> <body> <canvas id="canvas" style="border: 1px solid #ddd;"></canvas&

canvas基础绘制-倒计时(下)

digit_1.js: digit = [ [ [0,0,1,1,1,0,0], [0,1,1,0,1,1,0], [1,1,0,0,0,1,1], [1,1,0,0,0,1,1], [1,1,0,0,0,1,1], [1,1,0,0,0,1,1], [1,1,0,0,0,1,1], [1,1,0,0,0,1,1], [0,1,1,0,1,1,0], [0,0,1,1,1,0,0] ],//0 [ [0,0,0,1,1,0,0], [0,1,1,1,1,0,0], [0,0,0,1,1,0,0]

canvas基础绘制-倒计时(上)

效果: html: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>digit</title> </head> <body> <canvas id="canvas"></canvas> <script src="digit

使用Python中的Turtle库绘制简单的图形

Turtle图形库 Turtle库是Python内置的图形化模块,属于标准库之一,位于Python安装目录的lib文件夹下,常用函数有以下几种: 画笔控制函数 penup():抬起画笔: pendown():落下画笔: pensize(width):画笔宽度: pencolor(color):画笔颜色: 运动控制函数 forward(d)/fd(d):直行d个像素: circle(r, extent = None):绘制半径为r,角度为extent的弧形,圆心默认在海龟左侧距离r的位置: 方向控

shape-自绘制简单图形

shape 可以绘制简单的图形,颜色等.它主要就是应用于selector 的一些状态. 本文内容参考自http://www.cnblogs.com/cyanfei/archive/2012/07/27/2612023.html 自己验证了下,学习记录 它主要有以下几个部分,分别是 填充(solid):设置填充的颜色 间隔(padding):设置四个方向上的间隔 大小(size):设置大小 圆角(corners):设置图形圆角,默认是正方形的 渐变(gradient):当设置填充颜色后,无渐变效果

Android Graphics专题(1)--- Canvas基础

作为Android Graphics专题的开篇,毫无疑问,我们将讨论Android UI技术的核心概念--Canvas. Canvas是Android UI框架的基础,在Android的控件体系中,所有容器类.控件类在实现上都依赖于Canvas,界面的绘制实质上都是Canvas绘制的.本文将讨论Canvs的由来,并通过实例展示Canvas的基础用法. 对于应用开发而言,我们可以不去深究Canvas与Android 控件体系的实现细节,但明白Canvas与控件的关联有助于我们更好的使用Canvas