基本用法

首先在body中写个<canvas>,设定大小,个人建议大小要在行内设置,不然在部分情况下会发生错误。

CSS部分

给canvas加个边框,这边框只是为了方便看出canvas的边界,加不加都可以。

<style type="text/css">
canvas{
border:1px solid #000;
}
</style>

HTML部分

<canvas id="canvas" width="500" height="500"></canvas>

JSt部分

canvas是一个画布,要操作它,需要使用javascript,所以我们要在javascript中获取它

var canvas = document.getElementById('canvas');

然后设置画画的环境,canvas是一个功能很强大的标签,这里我先简述下2d环境下的

var context = canvas.getContext('2d');

上述设置都做好后,就可以在画布上画东西了,例:

画一条线

context.lineWidth = 4;//设置画笔粗细
context.strokeStyle = 'red';//设置画笔颜色 context.beginPath();//开始路径
context.moveTo(100,100);//落笔点(100,100)
context.lineTo(100,200);//移动到(100,200)点上
context.closePath()//结束路径
context.stroke();//上色

结果如图:

closePath()方法有闭合路径的功能,也就是说不管最后一个点在哪,它都会自动生成一条线条将第一个点与最后一个点连接起来,上述例子由于是线条,看出不来,这个功能画几何图形的时候能给你带来些许便利,例:

context.beginPath();//开始路径
context.moveTo(100,100);
context.lineTo(100,200);
context.lineTo(200,200);
context.closePath()//结束路径
context.stroke();

效果如图:

<canvas> 2d环境量的绘制图形属性

属性 简介
canvas 指向绘图环境所属的canvas对象
fillstyle 指定该绘图环境在后续的图形填充操作中所使用的颜色,渐变色或方案
font 设定在调用绘图环境对象的fillText()或strokeText()方法时,所使用的字型
globalAlpha 指定全局透明度,取值范围0~1
globalCompsiteOperation 将某个物体绘制在其他的物体之上时采用的绘制方式,取值范围source-atop, source-in, source-out, source-over, destination-top, destination-in, destination-out, destination-over, lighter, copy, xor
lineCap 该值告诉浏览器如何绘制线段的端点,取值范围butt, round, square
lineWidth 线条的宽度
lineJoin 线条绘制交叉的时候的绘制方式,bevel, round, miter
miterLimit 如何绘制miter形式的线段焦点
shadowBlur 延伸的阴影效果,取值为非负的无穷量的double值,该值为高斯模糊方程式中的参数值
shadowColor 阴影的颜色值
shadowOffsetX 阴影效果的水平方向偏移量
shadowOffsetY 阴影效果的垂直方向偏移量
strokeStyle 对路径描边时所使用的绘制风格
textAlign fillText()或strokeText()方法绘制的时候,所画文本的水平对齐方式
textBaseline fillText()或strokeText()方法绘制的时候,所画文本的水平对齐方式

HTML5新标签<canvas>的更多相关文章

  1. HTML5新标签 w3c

    w3c标准下的HTML5新标签 ,做个归纳总结: H5标签 定义和用法 兼容性 <artical> 规定独立的自包含内容, 支持html中的全局属性, 支持html中的事件属性 IE: 支 ...

  2. 让ie浏览器支持html5新标签的解决方法(使用html5shiv)

    没估计错的话旧版浏览器都是不识别这些新增的标签所以都是用行内元素来处理解决的,所以,有一个解决办法的突破口就是让它变成块状元素就不会处于同一行了,这样在新旧浏览器都是可以显示同样的效果,再者就是让浏览 ...

  3. html5有哪些新特性、移除了那些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分 HTML 和 HTML5?

    * HTML5 现在已经不是 SGML(标准通用标记语言,是一种定义电子文档结构和描述其内容的国际标准语言) 的子集,主要是关于图像,位置,存储,多任务等功能的增加.   * 拖拽释放(Drag an ...

  4. Html5新标签解释及用法

    Html5新标签解释及用法 HTML 5 是一个新的网络标准,目标在于取代现有的 HTML 4.01, XHTML 1.0 and DOM Level 2 HTML 标准.它希望能够减少浏览器对于需要 ...

  5. Html5新标签及用法

    HTML 5 是一个新的网络标准,目标在于取代现有的 HTML 4.01, XHTML 1.0 and DOM Level 2  HTML 标准.它希望能够减少浏览器对于需要插件的丰富性网络应用服务( ...

  6. 支持HTML5新标签

    IE8/IE7/IE6支持通过document.createElement方法产生的标签,               可以利用这一特性让这些浏览器支持HTML5新标签,               ...

  7. 让IE6,7,8支持HTML5新标签的方法

    很多网站对网页进行重构的时候,提高标签的语义性,在网页中大量使用了section,article,header等HTML5新标签.考虑到目前win7自带的IE浏览器版本是IE8,而IE8不支持HTML ...

  8. 如何处理HTML5新标签的兼容性问题

    支持HTML5新标签: * IE8/IE7/IE6支持通过document.createElement方法产生的标签, 可以利用这一特性让这些浏览器支持HTML5新标签, 浏览器支持新标签后,还需要添 ...

  9. html5\CSS3有哪些新特性、移除了哪些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分HTML和HTML5?

    (1)HTML5现在已经不是SGML的子集,主要是关于图像,位置,存储,地理定位等功能的增加. 绘画canvas元素: 用于媒介回放的video和audio元素: 本地离线存储localStorage ...

  10. HTML5新标签的兼容性处理

    普通浏览器 普通不支持HTML5新标签的浏览器 -- 能正常解析,但会当初成 inline 元素对待 在不支持HTML5新标签的浏览器里,会将这些新的标签解析成行内元素(inline)对待,所以我们只 ...

随机推荐

  1. [Sass]声明变量

    [Sass]声明变量 定义变量的语法: 在有些编程语言中(如,JavaScript)声明变量都是使用关键词"var"开头,但是在 Sass 不使用这个关键词,而是使用大家都喜欢的美 ...

  2. eclipse开发servlet,HttpServletRequest报红叉解决方案

    eclipse开发servlet,HttpServletRequest报红叉解决方案 今天突然间有兴致,想打一会代码,于是开发一个Servlet,代码和配置路径都没问题,HttpServlet居然报错 ...

  3. tp5 model 中的类型转换

    类型转换使用 $type 定义 // 保存到数据库的数据会自动转换为相对应的格式class User extends Model { protected $type = [ 'status' => ...

  4. centos6.6 安装jdk1.7

    1:在oracle官网下载jdk liunx版本,放入到虚拟机中 2:解压jdk,解压命令 tar -xvzf jdk-7u15-linux-x64.tar.gz 解压完成(如下图) 3:在/usr/ ...

  5. iOS让键盘消失,取消第一响应,取消一级响应

    在开发中经常会遇到输入文本内容的时候,输入完毕的时候怎么让键盘消失的问题,有的是更改键盘的按键的方法,有的是点击屏幕的其他地方让键盘消失,个人更倾向于第二种,点击屏幕的其他地方让键盘消失,要实现这种方 ...

  6. resharper 改为VS自带的F12功能(转到定义)

    1:如何设置vs默认的快捷键方式: 2:重新设置resharper的F12及其其它选项设置:   3.如果还需要使用快捷键 Alt+ENTER  1.帮你实现某个接口或抽象基类的方法 2.提供你处理当 ...

  7. 剑指Offer-【面试题07:两个栈实现队列】

    package com.cxz.question7; import java.util.Stack; /** * 用两个栈实现一个队列.队列的声明如下,请实现它的两个函数appendTail 和del ...

  8. IIS上虚拟站点的web.config与主站点的web.config冲突解决方法 分类: ASP.NET 2015-06-15 14:07 60人阅读 评论(0) 收藏

    IIS上在主站点下搭建虚拟目录后,子站点中的<system.web>节点与主站点的<system.web>冲突解决方法: 在主站点的<system.web>上一级添 ...

  9. [UWP]UWP中获取联系人/邮件发送/SMS消息发送操作

    这篇博客将介绍如何在UWP程序中获取联系人/邮件发送/SMS发送的基础操作. 1. 获取联系人 UWP中联系人获取需要引入Windows.ApplicationModel.Contacts名称空间. ...

  10. 使用手机展示axure

    UC浏览器全屏,去地址栏 发布axure选项设置一下:参考http://sowm.cn/yixieshi/article/A752C3309457FBE32A99CA3A6A50B993.html 启 ...