初学画布canvas的chapter1
——这篇读后感是我阅读《写给Web开发人员看的HTML5教程》一书中的第5章画布后的小小看法,由于编程实力有限,很多效果病没有一一去实现,所以只是停留在纸上谈兵的阶段。
画布(canvas)作为HTML5新增的最有趣最出名的元素之一,程序员可以通过canvas元素实现非常多有趣的功能,虽然现今只是停留在2D环境,但未来不排除加入3D等环境的可能;而且我们也可以通过一些方法实现伪3D的效果。
要使用元素canvas,我们要先对它进行定义:
<canvas width="" height="">
</canvas>
元素开始与结束标记之间的区域是用于浏览器不支持canvas时显示。
定义完元素canvas之后,我们就要在JavaScript中加入绘制命令,首先要引用canvas:
var canvas = document.querySelector("canvas");——querySelector是jQuery引入的方法
其次要定义它的绘制环境:
var context = cnvas.getContext('2d');
然后就可以开始绘制了。
以下是阅读完第五章后了解到的有关canvas的一些应用:
矩形,颜色和阴影及渐变
1.矩形可以通过四种方法来创建:
context.fillRect(x,y,w,h) ——创建被填充的矩形
context.strokeRect(x,y,w,h) ——创建有边框无填充的矩形
context.clearRect(x,y,w,h) ——创建橡皮擦
context.rect(x,y,,h) ——通过路径创建矩形
2.颜色:
FillStyle——定义填充颜色
strokeStyle——定义线条颜色
颜色的有效值:
Hexadecimal ——#FF0000
Hexadecimal(short) ——#F00
RGB ——rgb(255,0,0)
RGB(percent) ——rgb(100%,0%,0%)
RGBA ——rgba(255,0,0,1.0)
RGBA(percent) ——rgba(100%,0%,0%,1.0)
HSL ——hsl(0,100%,50%)
HSLA ——hsla(0,100%,50%,1.0)
SVG(named color) ——red
3.阴影:
context.shadowOffsetX = ——定义阴影的X轴偏移量
context.shadowOffsetY = ——定义阴影的Y轴偏移量
context.shadowColor = ——定义阴影的颜色及透明度
context.shadpwBlur = ——定义阴影的模糊度
4.渐变:
var linGrad = context.createl.inearGradient(x0,y0,x1,y1);
——创建变量存储CanvasGradient对象并通过x0,y0,x1,y1定义渐变方向。
linGrad.addColorStop(0.0,’red’); ——代表起点上的颜色
linGrad.addColorStop(0.5,’yellow’); ——渐变颜色
linGrad.addColorStop(1.0,’purple’); ——代表终点上的颜色
路径绘图
线段:
初始化路径:beginPath()
定义路径轨迹:moveTo()和lineTo()
画线:stroke()
曲线:
context.quadraticCurveTo(cpx,cpy,x,y)
context.bezierCurveTo(cp1x,cp1y,cp2x,cp2y,x,y)
弧线:
context.artTo(x1,y1,x2,y2,radius)
context.arc(x,y,radius.startAngle,endAngle,anticlockwise)
轮廓:
context.lineWidth = [] ——定义线条粗细
context.lineCap = [] ——定义线条两端线端
context.lineJoin = [] ——定义交点
填充:
context.fill()
遮罩:
context.clip() ——定义路径图不被画出来
初学画布canvas的chapter1的更多相关文章
- 初学画布canvas的chapter2
文本 1.字体属性 context.font = [css font property] ——使用CSS规范,语法跟CSS字体速记符号一致 ——line-height无效,并永远忽略 Context. ...
- HTML 5 画布(canvas)
canvas 元素使用 JavaScript 在网页上绘制图像,本身是没有绘图能力. canvas 是一个矩形区域,可以控制其每一像素. canvas 拥有多种绘制路径.矩形.圆形.字符以及添加图像的 ...
- HTML5画布Canvas
一.Canvas概念介绍 1.概念 Canvas : 画布 2.作用 : HTML5 Canvas 元素用于图形的绘制, 通过脚本(通常是JavaScript)来完成.它本身只是个图形容器,必须使用脚 ...
- HTML5画布(CANVAS)速查简表
HTML5画布(CANVAS)速查简表 http://www.webhek.com/misc/html5-canvas-cheat-sheet/
- PHP《将画布(canvas)图像保存成本地图片的方法》
用PHP将网页上的Canvas图像保存到服务器上的方法 2014年6月27日 歪脖骇客 发表回复 8 在几年前HTML5还没有流行的时候,我们的项目经理曾经向我提出这样一个需求:让项目评审专家们在评审 ...
- Tkinter画布-Canvas
Python - Tkinter画布-Canvas: Canvas是一个长方形的面积,图画或其他复杂的布局.可以放置在画布上的图形,文字,部件,或是帧 Canvas是一个长方形的面积,图画或其他复杂的 ...
- 转载:将画布(canvas)图像保存成本地图片的方法
之前我曾介绍过如何将HTML5画布(canvas)内容转变成图片形式,方法十分简单.但后来我发现只将canvas内容转变成图片输出还不够,如何能将转变后的图片保存到本地呢? 其实,这个方法也是非常简单 ...
- 面向画布(Canvas)的JavaScript库
面向画布(Canvas)的JavaScript库 总结 每个库各有特色,根据需求选择 学习要点 面向画布(Canvas)的JavaScript库 EaselJS 是一个封装了 HTML5 画布(C ...
- 学习前端第二天心得体会(初步了解HTML5的部分API以及画布Canvas)
一.HTML5部分API 1.选择器querySelector和querySelectorAll 1.1.querySelector:返回文档中匹配指定的CSS选择器的第一元素. document. ...
随机推荐
- 想通过加HINT让其走全表扫描
一个SQL,通过SPM固定它的执行计划,可以通过DBMS_SPM.LOAD_PLANS_FROM_CURSOR_CACHE实现.也可以通地此功能在不修改原SQL的情况下对其加HINT来固定执行计划.D ...
- AppStore审核
应用被拒分为两种:Binary Rejected 和 Metadata Rejected.前者需要重新上传应用并且重新排队,后者只需要修改信息,不需要重新上传应用. 1.应用内包含检查更新功能 iOS ...
- xml、文件操作功能类
我一个项目中用到的,里面的方法不是太通用,但是可以从里面找到一些有用的代码,以后慢慢添补更新: FileUtil.xml package com.novel.util; import java.io. ...
- 【SIGGRAPH】用【有说服力的照片真实】技术实现最终幻想15的视觉特效
原文:西川善司 http://www.4gamer.net/games/075/G007535/20160726064/ 最终幻想15的演讲会场.相当大,听众非常多. 在本次计算机图形和 ...
- 罪恶装备 Xrd REVELATOR 3D进化出的非照片真实视觉
GUILTY GEAR Xrd REVELATOR 3D进化出的非照片真实视觉 罪恶装备系列是用2D日系动画一样的惊异视觉来吸引玩家的. 最新续品[GUILTY GEAR Xrd-REVELATOR- ...
- mac svn 更新到新版本1.8
1.执行:brew install scons 如果没装brew,先装它.安装命令如下:curl -LsSf http://github.com/mxcl/homebrew/tarball/maste ...
- zepto源码--核心方法8(管理包装集)--学习笔记
继续包装集过滤的相关函数的介绍,今天介绍与父元素相关的函数,parent, parents, closest, offsetParent parent 获取对象集合中每个元素的直接父元素. 与上篇文章 ...
- Fiddler-010-网络延时应用小技巧-模拟低网速环境
在日常的网络测试中,经常需要测试网络超时或在网络传输速率不佳的情况的应用场景,而与此同时我们有时手边资源有限,实现在各种真实网络(2G\3G)环境下测试有些局限性.其实 fiddler 已经提供了类似 ...
- sms-provider
@ 最近测试 open-falcon. @ 首先得准备报警接口. sms-provider 邮件发送http接口: method: post params: content: 邮件内容 subject ...
- Velocity模板引擎语法
Velocity 模板引擎介绍 Velocity是一个基于java的模板引擎(template engine).它允许任何人仅仅简单的使用模板语言(template language)来引用由java ...