h5 canvas 绘图

绘图原理 canvas+js 协作,h5 <canvas>标签提供绘图区域,设置宽高,边框,本身没有绘图功能。绘图的功能得教给js来完成。
1.建立联系,获取元素,在元素上创建绘图对象
2.理解绘图思想:绘图的过程是 先画草稿 –> 真正画图

  • beginPath()这个方法,就是告诉程序,我要开始画草稿了,把前面没有真正画图的草稿都清除了。
  • 然后草稿我们可以画线,画圆,矩形可以通过画线来得到,所以fillRect()可以认为是画矩形的便捷方法。
  • closePath()是创建从当前点到开始点的路径,并不是关闭路径的意思。像画三角形两条线后可以用一波,画圆的时候也用一波(不用也没啥感觉,估计是严谨,毕竟要闭合嘛)
  • 草稿弄完了,就要真正画图 有stroke() 和 fill() 两个方法,一个画线,一个是填充,还可以在画前,给他们指定颜色,像那种fillRect()作为快捷方法放到这块理解。
  • 至于渐变背景,可以理解为一个颜色,创建出这个渐变颜色,其他操作都一样了。
  • 其他 还有把一幅图放到画布上,比较独立了。
html代码
<canvas width="500px" height="500px" style="..."></canvas>
----------------------------------------------------------
js代码
//准备工作
var c=document.getElementById("myCanvas");
var cxt=c.getContext("2d"); 
//开始打草稿画图
//画三角形
ctx.beginPath();
ctx.moveTo(20,20);
ctx.lineTo(20,100);
ctx.lineTo(70,100);
ctx.closePath();
ctx.stroke();
ctx.fillStyle="green";
ctx.fill();
//画圆
cxt.beginPath();
cxt.arc(70,18,15,0,Math.PI*2,true);
cxt.closePath();
cxt.fillStyle="#FF0000";
cxt.fill();//想画空心圆就用stroke()
//快捷方法画矩形
cxt.fillStyle="#FF0000";
cxt.fillRect(0,0,150,75); 
//画渐变背景
var grd=cxt.createLinearGradient(0,0,175,50);
grd.addColorStop(0,"#FF0000");
grd.addColorStop(1,"#00FF00");
cxt.fillStyle=grd;
cxt.fillRect(0,0,175,50);
//加载图片
var img=new Image()
img.src="flower.png"
cxt.drawImage(img,0,0);

完美理解

简介: 新的 HTML5 规范旨在帮助开发人员更轻松的编写出各类 Web 应用,以顺应当前 SaaS,云计算以及 RIA 等技术的最新趋势。在 HTML5 得以广泛推广之前,开发人员通常使用 SVG,VML 等技术进行 Web 绘图操作,但这些基于 XML 的绘图语言声明式的绘图方式并不能满足复杂绘图操作在性能上的需求,比如 Web 游戏所需要的像素级别的绘图能力。HTML5 canvas 元素的出现填补了这种不足,开发人员可以使用 JavaScript 脚本语言在 canvas 中进行一系列基于命令的图形绘制操作,本文将通过讲解如何使用 canvas 元素进行基本绘图操作,以及完成简单的动画和用户交互任务,阐明 canvas 在帮助构建 Web 图形类应用时所能够提供的能力。更多html5相关信息请关注html5中国:http://www.html5cn.org 背景介绍 HTML5 中新引入的 canvas 元素使得 Web 开发人员在无须借助任何第三方插件(如 Flash,Silverlight)的情况下,可以直接使用 JavaScript 脚本在 Web 页面进行绘图。它首次由苹果公司的 Webkit 框架引入实现,并成功运用在 Safari 浏览器中,读者在 这里可以体验到基于 canvas 的精彩示例。目前,canvas 已成为 HTML5 规范中的事实性标准,并且已经被 Firefox 3.0+, Safari 3.0+, Chrome 3.0+, Opera10.0+ 等浏览器所支持。最近(本文撰写之时),IE 也正式宣称将在其 9.0 版本之后,开始对 canvas 元素进行支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值