Html5 Canvas笔记(2)-Canvas绘图
用Canvas API绘图,需要画图形的边线并设置内部区域填充,边线英文语法对应stroke,填充对应fill,在后面我们会频繁看到这2个英文单词的出现。Canvas API内置的形状绘图函数比较少,可以完成绘制矩形Rect、弧形Arc,也可以画贝塞尔曲线bezierCurver、quadraticCurve。下面我们一个一个的来说。
画线-Line
function drawScreen(){
context.strokeStyle='black';
context.lineWidth=10;
context.lineCap='square';
context.beginPath(); //开始绘制路径
context.moveTo(20,0);
context.lineTo(100,0);
context.closePath(); //结束绘制路径
}
lineCap属性:用于定义线条、路径、边框线端点。
butt:默认值,端点是垂直于线段边缘的平直边缘;
round:端点是在线段边缘处以线宽为直径的半圆;
square:端点是在线段边缘处以线宽为长、以一半线宽为宽的矩形;
lineJoin属性:定义两条线相交产生的拐角。
miter:默认值,在连接处边缘延长相接;
bevel:连接处是一个对角线斜角;
round:连接处是一个圆;
lineWidth属性:线宽,默认值为1.0。
strokeStyle属性:定义线和形状边框的颜色和样式。
矩形-Rect
function drawScreen(){
context.fillStyle='#000000'; //设置图形填充样式
context.strokeStyle='#ff00ff'; //设置图形线框样式
context.lineWidth=; //指定线宽
context.fillRect(,,,); //填充矩形区域
context.strokeRect(,,,); //描绘矩形边框
context.clearRect(,,,); //清空矩形区域
}
fillRect(x,y,width,height):在位置(x,y)绘制宽width,高height的填充矩形
strokeRect(x,y,width,height):在位置(x,y)绘制宽width,高height的矩形外框
clearRect(x,y,width,height):从位置(x,y)开始清除宽width,高height的矩形区域,使其透明
注:一定要注意大小写的区别,javascript中是区分大小写的,一旦代码中输入的属性名、方法名或变量名等大小写输入错误,会导致运行错误;
弧线-Arc
function drawScreen(){
context.beginPath();
context.strokeStyle="black";
context.lineWidth=5;
context.arc(100,100,20,0,(Math.PI/180)*270,false);
context.stroke();
context.moveTo(0,0);
context.lineTo(100,200);
context.arcTo(350,350,100,100,20);
context.closePath();
}
arc(x,y,radius,startAngle,endAngle,anticlockwise):
(x,y):圆心坐标;
radius:圆弧半径;
anticlockwise:画圆弧的方向,true表示逆时针,false表示顺时针;
startAngle,endAngle:圆弧的起始角度与结束角度;
arcTo(x1,y1,x2,y2,radius):
(x1,y1):圆弧的起点位置坐标;
(x2,y2):圆弧结束位置坐标;
Html5 Canvas笔记(2)-Canvas绘图的更多相关文章
- HTML5自学笔记[ 19 ]canvas绘图实例之炫彩时钟
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- HTML5自学笔记[ 11 ]canvas绘图基础1
html5新增<canvas>标签用于绘制图像,默认宽高是300*150,canvas的宽高需要在这里设置,在css中设置会有问题:设置的形状,如矩形,会等比缩放,而非设置的宽高. 在不支 ...
- HTML5自学笔记[ 15 ]canvas绘图实例之钟表
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- HTML5自学笔记[ 13 ]canvas绘图小实例之方块移动
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- HTML5自学笔记[ 12 ]canvas绘图小示例之鼠标画线
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- HTML5自学笔记[ 24 ]canvas绘图之星空草地
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- HTML5自学笔记[ 21 ]canvas绘图实例之马赛克
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- HTML5自学笔记[ 20 ]canvas绘图实例之绘制倒影
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- HTML5自学笔记[ 17 ]canvas绘图基础4
绘制图像: drawImage(oImg,x,y),oImg是一个Image对象,(x,y)为绘制起点,绘制的图像大小和源图大小一样. drawImage(oImg,x,y,w,h),后两个参数设置绘 ...
随机推荐
- Git学习之路(6)- 分支操作
▓▓▓▓▓▓ 大致介绍 几乎所有的版本控制系统都会支持分支操作,分支可以让你在不影响开发主线的情况下,随心所欲的实现你的想法,但是在大多数的版本控制系统中,这个过程的效率是非常低的.就比如我在没有学习 ...
- c++中,int *a=new int(120)语句的意思
int *a=new int(120); 申请一个整型变量空间,赋初值为120,并定义一个整型指针a指向该地址空间 int *a=new int[120]; 申请120个整型变量空间,没有赋初值,并定 ...
- 2017-2-20 C#基础 运算符
C#的运算符主要分五种:算数运算符,关系运算符,逻辑运算符,条件运算符,赋值运算符.算术运算符有 + - * / % ++ --;关系运算符有 == != > ...
- [Hadoop] - Cannot run program "cmake"
在编译hadoop的过程中,遇到缺少cmake命令的异常,异常信息为:Cannot run program "cmake" (in directory "/opt/wor ...
- [TPYBoard-Micropython之会python就能做硬件 7] 学习使用蓝牙模块及舵机
转载请注明:@小五义 http://www.cnblogs.com/xiaowuyi 欢迎加入讨论群 64770604 一.实验器材 1.TPYboard V102板 一块 2 ...
- 每天一个Linux命令(15)--tail命令
tail 命令从指定点开始将文件写到标准输出.使用 tail 命令的 -f 选项可以方便的查阅正在改变的日志文件 , tail -f filename 会把 filename 里最尾 ...
- 数据库:oracle,MySQL,SqlServer 安装资源分享
1. oracle 11g: 链接:http://pan.baidu.com/s/1bppaqR1 密码:http 2. mysql 链接:http://pan.baidu.com/s/1jH8O ...
- HttpClient filter中间转发从A tomcat转发至B tomcat
BackFilter.java 主要解决基于HttpGet/HttpPost以及基于HttpPost的附件流转发import java.io.IOException; import java.io.I ...
- Selenium 使用过程遇到问题随笔
最近正在学习Selenium,自学是比较难的,也很感谢网络环境中,各位大大的博文帮助. 也希望在此能够记录一下从小白学习使用selenium测试的过程,也希望能对别人有所帮助. 关于环境部署,以及入门 ...
- 关于利用input的file属性在页面添加图片的问题
在页面添加图片涉及到兼容的问题怎么解决兼容问题呢?请看下面分析: 在IE浏览器上面我们能直接通过获取其input的value值来获取其图片的路径. 在火狐和谷歌需要用createObjectURL(( ...