HTML5 十大新特性(四)——Canvas绘图
H5引入了canvas标签,默认是一个300*150的inline-block。canvas的宽高只能用它自身的width和height属性来指定,而不能使用css样式中的width、height。
一、获得‘画笔’对象,canvas所有的任务都需要它来执行
var ctx=canvas.getContext('2d');
二、一些canvas常用的属性
fillStyle:填充样式
strokeStyle:描边样式
lineWidth:描边宽度
font:绘制文本所用的字体大小和类型
textBaseline:文本对其的基线
shadowOffsetX、shadowOffsetY:阴影偏移量
三、使用canvas绘制图形
1、绘制矩形
ctx.fillRect(x,y,w,h):填充一个矩形
ctx.strokeRect(x,y,w,h):描边一个矩形
ctx.clearRect(x,y,w,h):清除一个矩形范围内的内容
2、绘制文本
ctx.fillText(txt,x,y)填充文本
ctx.strokeText(txt,x,y)描边文本
ctx.measureText(txt)测量
*要注意的是文本的定位点默认在文本基线(alphabetic)的起始点!
3、为图形文字添加阴影
例:ctx.shadowColor='#000';//颜色
ctx.shadowOffsetX=8;//水平偏移量
ctx.shadowOffsetY=8;//垂直偏移量
ctx.shadowBlur=10;//模糊半径
4、在绘图时使用渐变色
ctx.createLinearGradient(x1,y1,x2,y2):创建线性渐变对象
ctx.createRadialGradient(x1,y1,r1,x2,y2,r2):创建径向渐变对象
ctx.addColorStop:添加颜色点
5、绘制路径
ctx.beginPath():开始路径
ctx.closePath():结束路径
ctx.moveTo(x,y):移动到指定点
ctx.lineTo(x,y):绘制直线路径到指定点
ctx.arc():绘制拱形路径
ctx.ellipse():绘制椭圆路径
ctx.bezierCurveTo():绘制贝塞尔曲线路径
ctx.linJoin():修改折线拐点处样式
6、绘制图像
ctx.drawImage()
7、对于绘制上下文状态的改变和修改
ctx.translate(x,y):坐标轴原点移动到指定点
ctx.rotate():旋转画笔
ctx.scale():画笔缩放
ctx.save():保存绘图上下文当前的变形数据
ctx.restore():恢复最近一次的保存的变形相关的状态
***Canvas是个纯js实现的绘制位图的技术。
HTML5 十大新特性(四)——Canvas绘图的更多相关文章
- HTML5 十大新特性(五)——SVG绘图
		
相对于canvas绘图,SVG是一种绘制矢量图的技术.全称叫做Scalable Vector Graphics,可缩放的矢量图,在2000年就已经存在,H5把它纳入了标准标签库,并进行了一些瘦身.需要 ...
 - HTML5 十大新特性(二)——表单新特性
		
H5的表单新特性可以分为两大类. 一.10个input的type值 1.email:邮件输入域,在表单提交时提供简单的邮箱格式验证,并弹出一个提示窗口. 2.url:地址输入域,在表单提交时提供简单的 ...
 - HTML5 十大新特性(一)——语义标签
		
说语义标签前先来理解下什么叫语义化,当下html是靠div+css来铸造页面的整体框架和结构的,通篇大量的div可读性极低,因此诞生了这些特殊的标签,简单地说就是见名知义,使页面更清晰,方便维护和开发 ...
 - HTML5 十大新特性(十)——Web Socket
		
webSocket是H5新加的一个协议,为了解决http协议的request.response一一对应和它自身的被动性,以及ajax轮询等问题.一方可以发送多条信息,连接不中断,永久连接,但也导致了服 ...
 - HTML5 十大新特性(七)——拖放API
		
拖放API是H5专门为了鼠标拖放而新提供了7个事件,可以分成三个部分来讲. 一.拖动的源对象(source)可以触发的事件 dragstart:拖动开始 drag:拖动进行中 dragend:拖动结束 ...
 - HTML5 十大新特性(三)——视频和音频
		
一.视频(video) H5新加了video标签,用来播放视频,默认为一个300*150的inline-block. 二.音频(audio) H5新加了audio标签,用来播放音频,默认为一个300* ...
 - HTML5 十大新特性(九)——Web Storage
		
H5的webStorage技术一共提供了两个对象:window.sessionStorage和window.localStorage. 一.window.sessionStorage--会话级存储 存 ...
 - HTML5 十大新特性(八)——Web Worker
		
由于js是单线程的,所以H5添加了这个叫做webWorker的概念,允许js创建多个线程,但是子线程完全受主线程控制,且不能操作DOM,从而来处理一些比较耗时的操作. 那么如何创建一个子线程呢?通过这 ...
 - HTML5 十大新特性(六)——地理定位
		
简单地用一句话概括就是,使用js获取浏览器当前所在的地理坐标,实现LBS(Location Based Service,基于定位的服务). 下面写一下它的基本调用: if(navigator.geol ...
 
随机推荐
- 在 Windows 10 中启用 Windows Photo Viewer
			
本文版权归cxun所有,如有转载请注明出处与本文链接,谢谢!原文地址:http://www.cnblogs.com/cxun/p/4727323.html 不知大家在使用了Win10之后有没有这样感受 ...
 - python学习笔记系列----(八)python常用的标准库
			
终于学到了python手册的最后一部分:常用标准库.这部分内容主要就是介绍了一些基础的常用的基础库,可以大概了解下,在以后真正使用的时候也能想起来再拿出来用. 8.1 操作系统接口模块:OS OS模块 ...
 - Oracle11完全卸载
			
1.停用oracle服务:进入计算机管理,在服务中,找到oracle开头的所有服务,右击选择停止 2.在开始菜单中,找到Universal Installer,运行Oracle Universal I ...
 - div水平居中和垂直居中
			
水平居中和垂直居中 水平居中包含两种情况: 块级元素的水平居中:margin:0px auto; 文字内容的水平居中:text-align: center; ...
 - 使用MacBook Air的4项基本技巧
			
MacBook Air可以说是笔记本电脑中的翘楚:性能优异.拥有超长的电池使用时间的同时保持了轻盈的体态.纤薄的外形,这几乎满足了人们对笔记本的所有要求.如果你也是一个MacBook Air用户,不妨 ...
 - 关于JSON
			
JSON:一种数据交换格式,不是一种编程语言.(JSON 语法是 JavaScript 对象表示法语法的子集.) 什么是 JSON ? JSON 指的是 JavaScript 对象表示法(JavaSc ...
 - HttpClient——Get,Post
			
package com.ch.day5_httpclient; import java.util.List; import com.ch.myutils.NetWorkUtil; import com ...
 - 用Swift语言做App开发之单元测试
			
作为一个有质量保障的应用程序,当然少不了单元测试:Swift开发的App也亦如此,此文将以一个简单的实例来介绍Swift中的单元测试. 这里我们使用XCode模版自带的XCTest框架,此框架包含了一 ...
 - IIS的配置
			
一.首先是安装IIS.打开控制面板,找到“程序与功能”,点进去 二.点击左侧“打开或关闭Windows功能” 三.找到“Internet 信息服务”,按照下图打勾即可 等待安装完成 四.安装完成后,再 ...
 - Highcharts使用教程(1):制作简单图表
			
今天我们要使用JavaScript图表Highcharts制作简单的柱形图,我们已经安装好Highcharts,让我们开始制作图表吧. 步骤一 在网页中添加一个div.设置id,设置图表长.高.代码如 ...