基本用法

首先在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. 更改WAS Profiles的概要文件的server1的SDK版本

    WebSphere只能使用IBM JDK 哦,不能使用sun的JDK哦.不过如果只是改jdk的版本的话可以参考如下步骤:(以集群为例,假设具有管理节点Dmgr01,应用概要AppSrv01) 1. 确 ...

  2. 自动加载dll,加载dll中程序集的信息。

    自动加载程序集,解析程序集中的方法. private static object Invoke(string lpFileName, string Namespace, string ClassNam ...

  3. 修改git的远程仓库命令

    1. 修改命令 git remte origin set-url URL 2.先删后加 git remote rm origin git remote add origin git@github.co ...

  4. 可视化日历_Java实现

    //刚刚学Java,写的小程序 package cn.xiaocangtian.testDate; import java.text.DateFormat; import java.text.Pars ...

  5. PHP+JQUEY+AJAX实现分页

      HTML <div id="list">   <ul></ul>  </div>  <div id="pagec ...

  6. MFC 滑动条的重绘

    MFC自带的滑动条的样子是这样的. 比较难看,所以需要重绘下,重绘后的样子是这样的. 代码如下: CustomSliderCtr.h #pragma once // CCustomSliderCtr ...

  7. 第五课 CSS3 and H5 知识点

    概要:CSS3美化样式.自定义字体图标.滤镜设置.CSS3选择器.transform2D转换.新增表单控件.vaild表单验证.表单样式美化等. 属性选择器: E[attr]只使用属性名,但没有确定任 ...

  8. 面向内容的标记语言--markdonw

    引言: 我们习惯用html来展示数据,尤其是结合了js以及css之后,更是让html变得非常的绚丽,可是有些时候在感受绚丽的同时,我们往往对我们本身想要了解的内容变得漠不关心了,其实并不是所有的知识都 ...

  9. iOS打包测试

    iOS开发中,怎么打包为ipa格式的软件包以及怎么安装到手机终端上. (我的开发环境为Xcode6.1.1 )作为个人开发者(当然我的开发者帐号为个人开发者帐号,而不是企业开发者帐号),对于自己来说, ...

  10. PHP 使用分页方法修改多数据字段

    这个标题听起来很别扭,需求是这样的.mysql中的customer表有5000条数据.现在要给customer表添加一个order_num 字段,客户每下单一次就update这个字段+1. 是的,新增 ...