canvas常用api
1. 在canvas标签中给出长宽(不带单位):<canvas width="600" height="600"></canvas>
或者在js中设置长宽:canvas.width = 600; canvas.height = 600;
注意:canvas是行内块元素,用CSS设置的width和height像素值是canvas在页面渲染出来的宽高,而用js设置或者在标签中直接给出的则是canvas的分辨率,二者有本质的区别。
canvas元素的使用与普通的html元素并不相同,它有一个默认尺寸300*150,在css中设置宽高只能改变canvas的显示宽高,而并没有改变画布绘制时的尺寸,所以要为canvas设置绘制的尺寸,必须写在元素标签上或用JS设置。
2. 浏览器兼容时,不会显示canvas标签内的内容;不兼容时才会显示。
<canvas width="600" height="600">您的浏览器不支持canvas标签</canvas>
3. var canvas = document.getElementById("canvas"); // 获取canvas标签
var context = canvas.getContext("2d"); // 获取2d上下文环境
context.beginPath();//可以开始绘制
context.moveTo(100,100); //画笔移动到(100,100);
context.lineTo(150,200); //创建一条从(100,100)到(150,200)的路径
context.fillStyle = "#ccc"; //填充颜色为#ccc
context.strokeStyle = "#fff"; //进行描边
context.lineWidth = 5;
context.fill();//进行填充
context.stroke();//进行描边
context.closePath();//关闭当前路径 (基于状态)
关于closePath():当当前路径不是封闭路径时,使用closePath会自动将当前路径的首尾连接起来
context.fillRect(x,y,w,h);
context.clearRect(50, 30, 110, 35); //清除画布上的内容
(50,30)为矩形起点,110.35为矩形长宽
想绘制多条不封闭路径图形,在每次绘制新路径时使用beginPath即可
4. 绘制弧线
context.arc(x,y,r,startingAngle,endingAngle,anticlockwise = false);
参数分别为:圆心坐标,半径,起始角度,结束角度,时钟方向(false为顺时针、true为逆时针)
三点钟方向为0pi,六点钟方向为0.5pi,九点钟为1.0pi,12点钟为1.5pi
例如:context.arc(300,300,100,0,Math.PI*1.5,false);
5. 绘制矩形
context.fillRect(x,y,w,h);
context.strokeRect(50, 30, 110, 35)
context.clearRect(50, 30, 110, 35); //清除画布上的内容
6. 绘制虚线
context.setLineDash([a,b]);//a为虚线线段长度,b为虚线线段间隔长度
7. 取得canvas元素相对于浏览器窗口的位置
element.getBoundingClientRect()方法返回元素的大小及其相对于视口的位置
8. 绘制图片
cvs.drawImage(image.x,y,width,height);
context.drawImage(img,sx,sy,swidth,sheight,x,y,width,height);
image可以是元素或是image对象,但不能是路径
传递给 drawImage() 方法的图像必须是 Image 对象或 Canvas 元素
canvas常用api的更多相关文章
- html5 canvas常用api总结(一)
1.监听浏览器加载事件. window.addEventListener("load",eventWindowLoaded,false); load事件在html页面加载结束时发生 ...
- html5 canvas常用api总结(三)--图像变换API
canvas的图像变换api,可以帮助我们更加方便的绘画出一些酷炫的效果,也可以用来制作动画.接下来将总结一下canvas的变换方法,文末有一个例子来更加深刻的了解和利用这几个api. 1.画布旋转a ...
- html5 canvas常用api总结(二)--绘图API
canvas可以绘制出很多奇妙的样式和美丽的效果,通过几个简单的api就可以在画布上呈现出千变万化的效果,还可以制作网页游戏,接下来就总结一下和绘图有关的API. 绘画的时候canvas相当于画布,而 ...
- Selenium Web 自动化 - Selenium常用API
Selenium Web 自动化 - Selenium常用API 2016-08-01 目录 1 对浏览器操作 1.1 用webdriver打开一个浏览器 1.2 最大化浏览器&关闭浏览器 ...
- canvas绘图API详解
canvas绘图API详解 1.context的状态 矩阵变换属性 当前剪辑区域 context的其他状态属性: strokeStyle, fillStyle, globalAlpha, lineWi ...
- compass General 常用api学习[Sass和compass学习笔记]
compass 中一些常用api 包括一些浏览器hack @import "compass/utilities/general" Clearfix Clearfix 是用来清除浮动 ...
- java基础3.0:Java常用API
本篇介绍Java基础中常用API使用,当然只是简单介绍,围绕重要知识点引入,巩固开发知识,深入了解每个API的使用,查看JavaAPI文档是必不可少的. 一.java.lang包下的API Java常 ...
- C++ 中超类化和子类化常用API
在windows平台上,使用C++实现子类化和超类化常用的API并不多,由于这些API函数的详解和使用方法,网上一大把.本文仅作为笔记,简单的记录一下. 子类化:SetWindowLong,GetWi ...
- node.js整理 02文件操作-常用API
NodeJS不仅能做网络编程,而且能够操作文件. 拷贝 小文件拷贝 var fs = require('fs'); function copy(src, dst) { fs.writeFileSync ...
随机推荐
- 本地phpstudy开发中apache可以用,nginx不可用,
倒腾半天,在控制面板中,windows防火墙中关闭防火墙即可, http://blog.csdn.net/vic0228/article/details/70756450
- DEDECMS 留言薄模块的使用方法
一.留言薄的安装 留言薄的安装过程和其他插件一样,首先我们进入后台模块管理列表,点击其对应的"安装": 以上步骤,我们完成了留言薄插件的安装. 二.留言薄的卸载 留言薄的卸载,同样 ...
- sqlite3-入门教程
*** 非常好 http://wenku.baidu.com/link?url=xDoS4prJaGRac0QS0nxdNr6056N-qJIfZ7OhiTharj1ntuIsNy9sWXWvBXLh ...
- 【开发技术】一些常用的网站[ios]
http://www.cocoachina.com/ 苹果开发中文网站 http://blog.csdn.net/totogo2010 容芳志的IOS专栏 http://code4app.com ...
- 深入理解HashMap的扩容机制
什么时候扩容: 网上总结的会有很多,但大多都总结的不够完整或者不够准确.大多数可能值说了满足我下面条件一的情况. 扩容必须满足两个条件: 1. 存放新值的时候当前已有元素的个数必须大于等于阈值 2. ...
- 理解JS中的call、apply、bind方法(*****************************************************************)
在JavaScript中,call.apply和bind是Function对象自带的三个方法,这三个方法的主要作用是改变函数中的this指向. call.apply.bind方法的共同点和区别:app ...
- keytool 错误:java.to.FileNotFoundException:
老是报如题的错误: 后来才知道是因为当前的目录下没有写的权限,所以需要指定一个路径来存放android.key: keytool -genkey -alias android.key -keyalg ...
- HTML5入门要点
要点 HTML5是HTML的最新版本.通过引入心的标签.新的语义和媒体元素,同时要依赖一组支持Web应用的JavaScript库 XHTML不再是Web页面开发标准.开发人员和W3C组织觉决定还是继续 ...
- 同一台机器上多个tomcat启动造成的内存溢出问题的解决方法。
加下面这句话就行了,我是WIN10+双tomcat+nginx(本地站点),无压力.在编译器的vm option里面加哦. -server -Xms512m -Xmx1024m -XX:PermSiz ...
- Spring Boot快速入门(最新)
本章通过完成Spring Boot基础项目的构建并实现一个简单的Http请求处理,让大家对Spring Boot有一个初步的了解,并体验其结构简单.开发快速的特性.预计阅读及演练过程将花费约5分钟. ...