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),后两个参数设置绘 ...
随机推荐
- 访问内网中的sql server数据库的简便方法
前言: 有时候我们要访问局域网内的 sql server服务器,比如测试环境数据库在公司内网,回到家或在客户现场要连接内网中的数据库 第一步:假如可以连接局域网的数据库 192.168.150.129 ...
- BZOJ 1337: 最小圆覆盖1336: [Balkan2002]Alien最小圆覆盖(随机增量法)
今天才知道有一种东西叫随机增量法就来学了= = 挺神奇的= = A.令ci为包括前i个点的最小圆,若第i+1个点无法被ci覆盖,则第i+1个点一定在ci+1上 B.令ci为包括前i个点的最小圆且p在边 ...
- [原创.数据可视化系列之十三]idw反距离权重插值算法的javascript代码实现
图形渲染中,idw反距离权重插值算法是一个应用非常广泛的方法,但是js实现的比较少,目前实现一个: //idw算法 //输入[[x:0,y:0,v:0],[x:0,y:0,v:0],[x:0,y:0, ...
- 解决clipboard手机端无法复制的一种思路
最近,做了一个切图的小项目 主要内容是微信号的推广页面,上面会有精美的图片和微信号:) 点击按钮,会复制到粘贴板上,自己去微信里面粘贴搜索:),懒人会进行一系列复杂操作么,不看好 首先,百度了一下,看 ...
- Android性能测试工具Emmagee
下面介绍一个简单实用的Android性能软件 ~~欢迎加入测试群574875837一起讨论研究 一.Emmagee 简介 Emmagee主要用于监控单个App的CPU,内存,流量,启动耗时,电量,电流 ...
- vs2017 .net core WebApp 去掉ApplicationInsights
vs2017新建的 .net core WebApp都内置了这个遥测中间件进去,嗯,用AZURE的话是不错能无缝支持.但不用AZURE就没什么用了. 为了不占地方和提高一点点初始启动的速度,对新建的项 ...
- [HDU1282]回文数猜想
Problem Description 一 个正整数,如果从左向右读(称之为正序数)和从右向左读(称之为倒序数)是一样的,这样的数就叫回文数.任取一个正整数,如果不是回文数,将该数与他的倒 序数相加, ...
- 从覆盖bootstrap样式谈css选择器优先级
样式优先级 首先简单说几个定义样式的方式: 元素内嵌: <li><a href="" style="color:#ffffff;">SH ...
- bat文件的一些小技巧
bat文件的简介: bat文件是dos下的批处理文件.批处理文件是无格式的文本文件,它包含一条或多条命令.它的文件扩展名为 .bat 或 .cmd.在命令提示下键入批处理文件的名称,或者双击该批处理文 ...
- ThinkPhp框架:父类及表单验证
这个知识点,就可以通过"登录"和"注册"的页面来学习这个知识点了首先先做一个"登录"功能一.登录功能(父类)(1)登录的控制器在我的控制器文 ...