初识canvas

· Canvas的基本用法
· <canvas> 标签只有两个属性—— width和height,canvas会初始化宽度为300像素和高度为150像素
· getContext()方法是用来获得渲染上下文和它的绘画功能
· <canvas>默认的是inline,所以如果要利用margin居中,就必须设置width和block
· 绘制矩形:
fillRect(x, y, width, height) 绘制一个填充的矩形
strokeRect(x, y, width, height) 绘制一个矩形的边框
clearRect(x, y, width, height) 清除指定矩形区域,让清除部分完全透明。
· 绘制路径:
beginPath() 新建一条路径,生成之后,图形绘制命令被指向到路径上生成路径。
closePath() 闭合路径之后图形绘制命令又重新指向到上下文中。
stroke() 通过线条来绘制图形轮廓。
fill() 通过填充路径的内容区域生成实心的图形。
· 移动笔触:moveTo(x, y) 将笔触移动到指定的坐标x以及y上
· 绘制直线路径:lineTo(x, y) 绘制一条从当前位置到指定x以及y位置的直线
· 绘制圆弧路径:
arc(x, y, radius, startAngle, endAngle, anticlockwise) 画一个以(x,y)为圆心的以radius为半径的圆弧(圆),从startAngle开始到endAngle结束,按照anticlockwise给定的方向(默认为顺时针)来生成。
arcTo(x1, y1, x2, y2, radius) 根据给定的控制点和半径画一段圆弧,再以直线连接两个控制点。
角度与弧度的js表达式:radians=(Math.PI/180)*degrees
· Path2D 对象:用来缓存或记录绘画命令,这样将能快速地回顾路径
new Path2D(); 空的Path对象
Path2D.addPath(path [, transform])? 想要从几个元素中来创建对象时,添加了一条路径到当前路径(可能添加了一个变换矩阵)
· 使用 SVG paths:
var p = new Path2D("M10 10 h 80 v 80 h -80 Z");
这条路径将先移动到点 (M10 10) 然后再水平移动80个单位 (h 80),然后下移80个单位 (v 80),接着左移80个单位 (h -80),再回到起点处 (z)。
· 色彩 Colors
fillStyle = color 设置图形的填充颜色
strokeStyle = color 设置图形轮廓的颜色
· 透明度 globalAlpha = transparencyValue 这个属性影响到 canvas 里所有图形的透明度,有效的值范围是 0.0 (完全透明)到 1.0(完全不透明),默认是 1.0。
· 线型 Line styles
lineWidth = value 设置线条宽度,宽度为奇数的线并不能精确呈现
lineCap = type 设置线条末端样式。
lineJoin = type 设定线条与线条间接合处的样式。
miterLimit = value 限制当两条线相交时交接处最大长度;所谓交接处长度(斜接长度)是指线条交接处内角顶点到外角顶点的长度。
setLineDash(segments) 设置当前虚线样式,segments是一个数组,依次是虚线长和间距长
lineDashOffset = value 设置虚线样式的起始偏移量。正数时向逆时针
getLineDash() 返回一个包含当前虚线样式,长度为非负偶数的数组。

时间: 2024-09-29 01:15:41

初识canvas的相关文章

HTML5 初识 - Canvas

呃.. 今天开始看一下HTML5的一些东西了. 准备工作: 1.一个支持HTML5的浏览器(我用的Opera11.52和IE9),当然,火狐的和Chrome的近几个版本都能很好地支持HTML5 2.一个HTML的手册(说明书),以方便查阅. 因为发现目前用得比较多的是canvas,所以直接看了传说中很牛x的canvas标签的大概使用! 1.HTML中的canvas标签用于画图...貌似有点废话,canvas不就是个画布么 . 2.canvas标签中画图是由js控制,其中包含HTML5新添加的几个

11.14学习总结

学习了html的一些常用标签 1.1html5里的视频标签 <video src="/i/movie.ogg"  width="320" height="240" controls="controls">不支持的提示</video> 熟悉列表 1.2音频标签 <audio src="/i/song.ogg" controls="controls">不支

canvas常用api文件

初识js起便开始接触canvas,总觉得h5是未来发展的趋势,更是门很装逼的艺术.其实canvas并不是html而是js,因为属于html标签,暂时把它放在html里写.个人对于canvas下的原生“弱智”画图api比较感兴趣,而对于cocos2d-html5这样的框架没啥兴趣,曾经也在公司利用cocos2d框架做过游戏,因为终究不是做游戏的料,放弃了,但是对于canvas的爱好,是不会变的.利用canvas,几行代码就能有神奇的装逼效果.已经一年多没接触canvas了,等我有时间补上canva

HTML5的新标签之一的Canvas

一. <canvas>简介(了解) 1. 什么是canvas: 是HTML5提供的一种新标签 <canvas></canvas>  英 ['k?nv?s]  美 ['k?nv?s]   帆布 画布 Canvas是一个矩形区域的画布,可以用JavaScript在上面绘画.控制其每一个像素. canvas 标签使用 JavaScript 在网页上绘制图像,本身不具备绘图功能. canvas 拥有多种绘制路径.矩形.圆形.字符以及添加图像的方法. HTML5之前的web页面只

H TML5 之 (1) 初识HTML5

新特性 HTML5 中的一些有趣的新特性: 用于绘画的 canvas 元素 用于媒介回放的 video 和 audio 元素 对本地离线存储的更好的支持 新的特殊内容元素,比如 article.footer.header.nav.section 新的表单控件,比如 calendar.date.time.email.url.search 浏览器的支持 最新版本的 Safari.Chrome.Firefox 以及 Opera 支持某些 HTML5 特性.Internet Explorer 9 将支持

canvas和Matrix之间的关系。

上一篇android中canvas的clipRect和concate调用顺序不同导致的图像效果不同..只是讲到表现,并没有说到原理,今天结合网友说的 ,以及官网developer.android.comjj解释和自己测试的结果,来谈谈自己此知识点的看法. 先看看网友的理解: 初识: 我们看到的View视图其实最终都是在Canvas这个画板上画出来的,可以想象这个canvas有无限大,只是View组件在绘制时,即父组件调用dispatchDraw(Canvas c)分发给各个子组件绘制时,根据子组

canvas离屏技术与放大镜实现

教程所示图片使用的是 github 仓库图片,网速过慢的朋友请移步>>> (原文)canvas 离屏技术与放大镜实现. 更多讨论或者错误提交,也请移步. 利用canvas除了可以实现滤镜,还可以利用离屏技术放大镜功能. 为了方便讲解,本文分为 2 个应用部分: 实现水印和中心缩放 实现放大镜 1. 什么是离屏技术? canvas 学习和滤镜实现介绍过drawImage接口.除了绘制图像,这个接口还可以:将一个canvas对象绘制到另一个canvas对象上.这就是离屏技术. 2. 实现水印

websocket 初识

websocket 初识 前言 其实很早就知道了 websocket 这个概念了,像现在大火的直播等使用的就是 websocket.之前找爬虫工作,对面问我爬过 websocket 网站没,很汗颜,那时候还只是听说过.现在想了解一下,基于 JavaScript 语言. Websocket 是什么 websocket 是一种网络通信协议,运行在 TCP 协议之上. 对于传统的 HTTP 协议来说,通信只能由客户端发起,然后服务端响应.HTTP 协议做不到服务器制动向客户端推送信息.HTTP 协议的

canvas的其他应用

画布的基础知识 专门研究画布的大佬 手动实现echar的大佬 echar官方 画布之水印 ctx.font = "bold 20px Arial"; ctx.lineWidth = "1"; ctx.fillStyle = "rgba(255 , 255 , 255, 0.5)"; ctx.fillText("===文字===", 50, 50); 画布之滤镜 var img = new Image() img.src = &