canvas 绘图
<canvas>元素是HTML5中的绘图元素,通过定义一个画布区域,然后使用javascript动态地在这个区域里面绘制图形,对于2D和3D图形都可以绘制,我们将其分成2D上下文和WebGL两大块内容来一起来学习
<canvas id="draw" width="500" height="400"></canvas>
用canvas 绘制图形时经过以下几个步骤:
1.获取canvas对象.
2.使用canvas对象的getContext方法来获取图形上下文,在draw函数中将参数设为2d.
3.填充与绘制边框
填充(使用指定样式[颜色、渐变、图像、模式等]填充图形)和描边(图形的边缘画线)分别为fillStyle和strokeStyle,需要注意一点,fillStyle和strokeStyle会被延用至重新设置这两个值!
4.lineWidth用来指定图形边框的线宽。
5.fillStyle和strokeStyle分别指定绘图时填充的颜色 和边框的颜色。
var draw = document.getElementById(‘draw’);
//确定是否支持canvas
if(draw.getContext){
//这样就取得绘图上下文对象的引用,画图便可以开始了!
var context = draw.getContext(‘2d’);
//绘制黑色矩形
context.strokeStyle = “#000”;
context.strokeRect(10,10,50,50);
//绘制描边矩形
context.fillStyle = ‘#0000ff’;
context.fillRect(30,30,50,50);
}
6.绘制矩形
context.fillRect(x,y,width,height) //填充矩形
context.strokeRect(x,y,width,height)//绘制矩形边框
context.clearRect(x,y,width,height)//擦除指定矩形区域中的图形,使得矩形区域中的颜色变成透明
7.使用路径
绘制除正方形、长方形外的图形
开始创建路径 context.beginPath();
创建图形的路径
路径创建完成后关闭路径 context.closePath();
设定绘制样式,调用绘制方法,绘制路径 context.fillStyle="rgba(255,0,0,1)"
context.strokeStyle="rgba(255,0,0,1)" context.fill() context.stroke()
例:
1.context.beginPath();
2.绘制圆形路径
context.arc(x,y,radius,startAngle,endAngle,anticlockwise)
x为起点的横坐标,y为绘制圆形的起点的纵坐标,radius为圆形半径,startAngle为开始角度,endAngle为结束角度,anticlockwise为是否按照顺时针方向绘制 true为顺时针 false 为逆时针
绘制直线
moveTo(x,y) 将光标移动到指定坐标点,绘制直线时以这个坐标点为起点
lineTo(x,y) 以moveTo中指定的点为起点,参数中指定的为终点绘制一条直线
绘制贝切尔曲线
context.bezierCurveTo(cp1x,cp1y,cp2x,cp2y,x,y)
绘制贝切尔曲线需要两个控制点 cp1x cp1y cp2x cp2y分别对应两个控制点的x和y坐标
X为贝切尔曲线的终点横坐标 y为贝切尔曲线的终点纵坐标
3.context.closePath();
4.context.fillStyle="rgba(255,0,0,1)" context.fill()
canvas 绘图的更多相关文章
- Canvas绘图之平移translate、旋转rotate、缩放scale
画布操作介绍 画布绘图的环境通过translate(),scale(),rotate(), setTransform()和transform()来改变,它们会对画布的变换矩阵产生影响. 函数 方法 描 ...
- HTML5 学习总结(四)——canvas绘图、WebGL、SVG
一.Canvas canvas是HTML5中新增一个HTML5标签与操作canvas的javascript API,它可以实现在网页中完成动态的2D与3D图像技术.<canvas> 标记和 ...
- HTML5学习总结——canvas绘制象棋(canvas绘图)
一.HTML5学习总结——canvas绘制象棋 1.第一次:canvas绘制象棋(笨方法)示例代码: <!DOCTYPE html> <html> <head> & ...
- 伙伴们休息啦canvas绘图夜空小屋
HTML5 canvas绘图夜空小屋 伙伴们园友们,夜深了,休息啦,好人好梦... 查看效果:http://hovertree.com/texiao/html5/28/ 效果图如下: 代码如下: &l ...
- HTML5_03之Canvas绘图
1.Canvas绘图--JS绘图: <canvas id='c1' width='' height=''></canvas> * Canvas尺寸不能用CSS设置: c1.he ...
- javascript的canvas绘图的基本用法
<canvas>是HTML里面非常强大的元素,利用它结合js可以实现很多动画效果,大大增强交互性.下面,我想用图文并茂的方式阐述一下canvas的绘图机制的基础内容,话不多说,先上代码: ...
- canvas绘图、WebGL、SVG
目录 一.Canvas 1.1.创建canvas元素 1.2.画线 1.3.绘制矩形 1.4.绘制圆弧 1.5.绘制图像 1.6.绘制文字 1.7.随机颜色与简单动画 二.WebGL 2.1.HTML ...
- HTML5 学习笔记(四)——canvas绘图、WebGL、SVG
一.Canvas canvas是HTML5中新增一个HTML5标签与操作canvas的javascript API,它可以实现在网页中完成动态的2D与3D图像技术.<canvas> 标记和 ...
- Canvas绘图基础(一)
简单图形绘制 矩形:描边与填充 Canvas的API提供了三个方法,分别用于矩形的清除.描边及填充 clearRect(double x, double y, double w, double h) ...
- Canvas绘图中的路径描边与填充
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,博客地址为http://www.cnblogs.com/jasonnode/ .网站上有对应每一 ...
随机推荐
- NGUI事件监听之UIEventListener的使用
NGUI的事件绑定可以使用 UIButtonMessage 在一个游戏对象上添加Button Message组件: 在Button Message组件上添加要通知的游戏对象上所挂载的脚本的方法 Tar ...
- LFS初次成功+如何粘贴复制LFS命令
搞了几次LFS,终于成功了,总算舒了一口气. 这次搞LFS用到的资料:LFS文档:http://www.ha97.com/book/lfs-book-6.6/index.html 一份简单的指导文章 ...
- Visual Studio中删除所有空行
解决方法如下: 使用快捷键Ctrl+H,显示查找和替换视图菜单 Find what(查找内容):^:b*$\n Replace with(替换为):[Empty] (空字符串,什么都不用填) Look ...
- LoadRunner11.00入门教程出现的问题
问题1.打不开浏览器 解决办法:打开浏览器工具--Internet 选项--高级--取消启用第三方浏览器扩展. 顺带解决了,有两个浏览器问题. 两个浏览器:一个是自带的IE,一个是其他软件插件. 解决 ...
- C# DataGrid合并单元格
1.栏位枚举 private enum DataGridColumn { ROWNUM = , EMPID, EMPNAME, SEX, SALARY, ADRRESS, PHONE, TEL, PO ...
- 当div自适应的高度超过预设的高度的时候出现滚动条的办法
方法一:主要是 min-height:50px; max-height:200px;overflow: auto; <div id="ss" style="widt ...
- Python常用模块之sys
Python常用模块之sys sys模块提供了一系列有关Python运行环境的变量和函数. 常见用法 sys.argv 可以用sys.argv获取当前正在执行的命令行参数的参数列表(list). 变量 ...
- github 或者gitlab 设置添加SSH, 避免每次提交重复输入用户名
克隆项目二种方式: 1. 使用https url克隆, 复制https url 然后到 git clone https-url 2.使用 SSH url 克隆却需要在克隆之前先配置和添加好 SSH ...
- Vcenter server 5.5克隆模板(创建ISO镜像)
1.进入Vcenter server 5.5控制台 --- 选择虚拟机和模版. 2.右键 XP_32 --- 模版 ---- 克隆为模板(Vcenter server 5.5连接的VMware ESX ...
- MVC 使用entity framework 访问数据库 发布IIS
1. SQL SERVER 数据库内容 2. MVC工程 3. EF 参考 工程架构: 对应实体类: public class MvcUser { public int Id { get; set; ...