Canvas教程:https://developer.mozilla.org/zh-CN/docs/Web/API/Canvas_API/Tutorial

对于HTML5的内容,由于目前并不是所有的浏览器都兼容,所以我们首先需要判断你所用的浏览器是否支持canvas标签,判断方法如下:

<canvas id='canvas' width='300' height='200'>你的浏览器不支持canvas</canvas>

如果你的浏览器支持canvas标签,那么就不会显示那句话,否则就会显示出来。

  1. 定义canvas标签
 <canvas id="canv"></canvas>
  1. 在canvas画图
 //js代码var c= document.getElementById("canv");var m=c.getContext("2d");m.fillStyle="#f00";m.fillRect(0,0,300,300);m.fillStyle="rgba(0,0,255,0.5)";m.fillRect(200,200,500,500);
  1. 画直线,定义连接,节点
 m.lineWidth=5;//定义线条的宽度m.strokeStyle="red";//定义线条的样式m.moveTo(10,10);//起始位置m.lineTo(150,150);终止位置m.lineTo(10,50);如果没有再次设置起始位置将从结束位置开始画m.stroke() 开始划线。

注意:如果没有stroke()函数,表示还没有画图终止,会不给你显示!!
所以,画点完成必须stroke(),包括画圆、矩形等都是,一定要stroke才会绘制上去。

  1. 画圆
     <script type="text/javascript">var cObj=document.getElementById("myCanvas");var cnt = cObj.getContext("2d");cnt.beginPath();//从新开始画,防止冲突重叠cnt.fillStyle="#0ff";cnt.arc(100,100,50,0,Math.PI*2,true);cnt.closePath();//结束画布,防止冲突重叠cnt.fill();//开始渲染// document.οnclick=function(even){//    alert(even.clientX+":"+even.clientY);// }</script>

arc()里面有6个参数,第一个参数和第二个参数表示所要画弧(圆)的圆心,第三个参数表示半径,第四个参数0表示从3点钟的方向开始画(x轴哪里),第五个参数表示所画圆弧的大小,第六个参数为true表示逆时针,false为顺时针.

  1. 渐变色
 <script type="text/javascript">var c = document.getElementById("myCanvas");var cnt = c.getContext("2d");var m=cnt.createLinearGradient(0,0,175,50);m.addColorStop(0,"blue");m.addColorStop(0.5,"green");m.addColorStop(1,"red");cnt.fillStyle = m;cnt.fillRect(0,0,175,50);</script>

效果如下:

是不是很漂酿O(∩_∩)O

  1. 图像
 <script type="text/javascript">var c = document.getElementById("myCanvas");var cnt = c.getContext("2d");var img = new Image();img.src = "04.jpg";cnt.drawImage(img,0,0);</script>

在图像上我们可以画一些图像等,比如水印效果,因为他们都是在canvas画布上。

  1. clearRect()函数:可以从我们所画的区域擦除一部分图像
 ctn.clearRect(0,0,100,50);//从(0,0)点开始擦除长100,宽50的面积
  1. save和restore
    使用示例:https://developer.mozilla.org/zh-CN/docs/Web/API/CanvasRenderingContext2D/save#%E7%A4%BA%E4%BE%8B

  2. translate 移动原点、旋转、缩放、矩阵变换

  3. 组合 和 裁撤clip

  4. 动画
    参考示例:https://developer.mozilla.org/zh-CN/docs/Web/API/Canvas_API/Tutorial/Basic_animations

HTML5之canvas详解相关推荐

  1. canvas插件_HTML系列之-HTML5新元素之Canvas详解

    课程简介: 课程目标:通过本课程学习,掌握HTML5中图形绘制canvas的基本原理和使用,并利用canvas解决实际相关问题. 适用人群:具有一定html.css.javascript开发基础的人员 ...

  2. html5 规定输入字段,HTML5 Input属性详解

    本篇教程探讨了HTML5 Input属性详解,希望阅读本篇文章以后大家有所收获,帮助大家HTML5+CSS3从入门到精通 . < value 属性 value 属性规定输入字段的初始值: rea ...

  3. html5硬件接口,HTML5通用接口详解

    1.先说几个基本类型: DOMString, boolean, long, unsigned long, double,BmBHTML5中文学习网 - HTML5先行者学习网 NaN(Not-a-Nu ...

  4. 最简单太阳系H5动画canvas详解 零基础可入

    最简单太阳系H5动画canvas详解 零基础可入 最终结果:(实际为动画效果,金星绕轨道转动) 页面准备/html 要使用canvas,需要首先在页面中要绘制的位置放入canvas标签元素,在后期的绘 ...

  5. java canvas详解_HTML5的canvas绘图技术详解

    原标题:HTML5的canvas绘图技术详解 本篇教程探讨了HTML5的canvas绘图技术详解,希望阅读本篇文章以后大家有所收获,帮助大家HTML5+CSS3从入门到精通 . < canvas ...

  6. HTML5之Viewport详解

    做移动Web开发也有一年多的时间了,虽然手机上浏览器对于PC上来说很友好了,但是手机各种设备的显示尺寸分辨率大小不一也要花大心思兼容它们. 关于HTML5中Viewport的文章Google,百度一搜 ...

  7. Android之canvas详解

    首先说一下canvas类: Class Overview The Canvas class holds the "draw" calls. To draw something, y ...

  8. html5 摄像头 直播,详解HTML5 使用video标签实现选择摄像头功能

    详解HTML5 使用video标签实现选择摄像头功能 1. html // jquery reference // // Open WebCam Snap Photo 2. javascript El ...

  9. html5录音兼容性,详解HTML5 录音遇到的坑

    本文恩主要介绍了详解HTML5 录音的踩坑之旅,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧,希望能帮助到大家. 说实话,一开始都没接触过 HTML5 的 Audio A ...

最新文章

  1. js:深入prototype(下:原型重写)
  2. 几个关于财报的基本知识
  3. docker -v 文件夹下没有数据_详细!快速入门指南!Docker
  4. 跨域资源请求(除jsonp以外)的方法
  5. 洛谷——P1009 [NOIP1998 普及组] 阶乘之和
  6. 主题模型TopicModel:LSA(隐性语义分析)模型和其实现的早期方法SVD
  7. flex blazeds java spring_flex3+blazeds+spring+hibernate整合小结
  8. vue jsx v html,Vue 中使用jsx示例
  9. 一文读懂 12种卷积方法
  10. LTE之3GPP_协议下载_协议命名
  11. java项目远程调用别的项目接口
  12. 趋势交易法之区间跨度的归类
  13. 为什么要进行系统拆分?
  14. Wordpress在新建页面加入谷歌广告代码
  15. 网络基础:(二)路由选择基础与静态路由
  16. 《花千骨》为何被批“脑残”还能创造收视神话?
  17. win10升级Java版本
  18. 解决\xEF\xBB\xBF问题
  19. R语言与生物统计分析试题
  20. linux ubuntu下安装拳皇97

热门文章

  1. 区间重合判断(C语言实现)
  2. 从前端页面到获取数据库的数据,需要哪些步骤?一个项目的起步。初学者可以来瞧瞧哇~
  3. android以不规则图片为边框,切割另外的图片
  4. 办公:Word 2003的九个新奇玩法
  5. linux编写一个博客脚本,Linux 脚本编写基础 - 凌度 - 博客园.pdf
  6. STM32串口通讯实现——USB转串口
  7. The Things Network LoRaWAN Stack V3 学习笔记 2.1.1 使用 CockroachDB Shell 操作 Identity Server
  8. 腿抖也是什么特发性震颤的原因吗?
  9. 一个比较好的Java写的计算器代码
  10. hibernate mysql 关联查询_hibernate 查询缓存,以及在关联表查询缓存下使用HQL,而不是sql去查询...