基本用法

首先在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]嵌套-选择器嵌套 Sass 中还提供了选择器嵌套功能,但这也并不意味着你在 Sass 中的嵌套是无节制的,因为你嵌套的层级越深,编译出来的 CSS 代码的选择器层级将越深,这往往是大家不愿 ...

  2. c# 保存数据到txt (追加)

    StringBuilder sb = new StringBuilder(); sb.AppendLine(DateTime.Now.ToString("yyyy-MM-dd hh:mm:s ...

  3. 数据复制与AA双活(1)

    最开始有些概念需要弄明白: 1. 什么是RPO? Wiki: https://en.wikipedia.org/wiki/Recovery_point_objective A recovery poi ...

  4. Laravel中的日志与上传

    PHP中的框架众多,我自己就接触了好几个.大学那会啥也不懂啥也不会,拿了一个ThinkPHP学了.也许有好多人吐槽TP,但是个人感觉不能说哪个框架好,哪个框架不好,再不好的框架你能把源码读上一遍,框架 ...

  5. c# 使用泛型类型作为参数

    泛型作为一种经常使用的类型,有时需要在方法之间传递,不了解的话可能会束手无策. 比如我定义一个方法 processList  需要把List<T>  作为参数传入,这时可以这样写 publ ...

  6. PyAutoGUI 简介

    转载来自: https://muxuezi.github.io/posts/doc-pyautogui.html http://blog.topspeedsnail.com/archives/5373 ...

  7. 【Java EE 学习 55】【酒店会员管理系统项目总结】

    本酒店会员管理系统使用了SSH框架和传值播客提供的协同OA静态页面. 项目地址:https://github.com/kdyzm/HotelMembersManagement 一.需求分析 酒店会员管 ...

  8. 父元素相对定位后,子元素在ie下被覆盖的问题!

    <div id="append_parent" style="position: relative;"> <div id="zoom ...

  9. Linux系统GCC常用命令和GCC编译过程描述

    前言: GCC 原名为 GNU C 语言编译器(GNU C Compiler),因为它原本只能处理 C语言.GCC 很快地扩展,变得可处理 C++.后来又 扩展能够支持更多编程语言,如Fortran. ...

  10. java相关的小问题

    对线程异常的处理 调用Thread的静态方法Thread.setDefaultUncaughtExceptionHandler()