HTML5中的Canvas
来源:互联网 发布:电脑自动按键软件 编辑:程序博客网 时间:2024/06/05 03:24
- 创建Canvas
- 画矩形
- 画圆
- 写字
- 动画
- 动画中常用的方法
- setInterval
- clearRect
- 动画中常用的方法
1.创建Canvas:
一般在页面上写入Canvas元素,使用js代码创建Canvas。
网页代码:
<body onload="draw('canvas');"><canvas id="canvas" width="500" height="350"></canvas></body>
js代码:
var context;function draw(id){ //获取canvas组件的对象 var canvas=document.getElementById(id); //获取上下文对象,执行画的动作 context=canvas.getContext('2d'); ... }
注:别忘了导入js文件
2.画矩形:
var context;function draw(id){ //获取canvas组件的对象 var canvas=document.getElementById(id); //获取上下文对象,执行画的动作 context=canvas.getContext('2d'); //填充颜色 context.fillStyle="green"; //边框颜色 context.strokeStyle="#fff"; context.lineWidth=5; //画一个带填充颜色的矩形,四个参数分别为 X坐标,Y坐标,宽,高 context.fillRect(0,0,400,300); //画一个不带填充颜色的矩形,四个参数分别为 X坐标,Y坐标,宽,高 context.strokeRect(50,50,120,80); }
3.画圆:
var context;function draw(id){ //获取canvas组件的对象 var canvas=document.getElementById(id); //获取上下文对象,执行画的动作 context=canvas.getContext('2d'); for(var i=0;i<10;i++){ //开始绘制路径 context.beginPath(); //正在绘制,五个参数说明:圆点X坐标,圆点Y坐标,垂直坐标,开始角度,结束角度 //是否逆时针 context.arc(i*25,i*25,i*10,0,Math.PI*2,true); //关闭绘制路径 context.closePath(); //设置填充颜色 context.fillStyle="rgba(255,0,0,0.25)"; //绘制填充圆 context.fill(); context.strokeStyle="rgba(255,0,0,0.25)"; //绘制不填充圆 context.stroke(); }}
4.写字:
var context;function draw(id){ //获取canvas组件的对象 var canvas=document.getElementById(id); //获取上下文对象 context=canvas.getContext('2d'); //字型 大小 字体 context.font="bold 40px '微软雅黑'"; //垂直对齐方式 context.textBaseline='middle'; //水平对齐方式 context.textAlign='start'; context.fillStyle='#fff'; // 后两个参数表示位置,三个参数分别是要显示的内容,X坐标,Y坐标 context.fillText('正义狂哥',0,0); context.strokeText('正义狂哥',0,40);}
注:
1、fillText,strokeText还有最后一个参数,可用来防止文字溢出
2、textBaseline属性图解:
3、textAlign属性图解:
5.动画:
动画只是把静态的图形通过java代码动起来而已
动画中常用的方法:
1.setInterval:
间隔一定时间执行某个方法
例如:
setInterval(painting,100);/*间隔100毫秒执行painting方法*/
2.clearRect:
清除某一区域所画的
例如:
context.clearRect(0,0,500,350);//画一个以左上角坐标为(0.0),宽500,高300的橡皮,然后擦除这块区域
动画小案例:
var i;var context;function draw(id){ //获取canvas组件的对象 var canvas=document.getElementById(id); //获取上下文对象 context=canvas.getContext('2d'); context.fillStyle="green"; context.fillRect(0,0,10,10); setInterval(painting,100); i=0;}function painting(){ context.fillStyle="green"; context.fillRect(i,0,10,10); i+=20; if(i>500){ context.clearRect(0,0,500,350); i=0; }}
1 0
- HTML5中的Canvas
- HTML5中的canvas详述
- HTML5中的Canvas
- html5中的canvas手册
- HTML5中的Canvas元素
- HTML5中的canvas
- html5中的canvas线性渐变
- HTML5中的Canvas功能实现
- HTML5 中的 canvas 标签 实现动画效果
- HTML5中的Canvas标签使用收录
- HTML5中的Canvas标签使用收录
- Html5中的Canvas宽度为100%
- HTML5中的Canvas(颜色)【转载】
- HTML5中的Canvas绘图操作(一)
- HTML5中的Canvas绘图操作(二)
- HTML5中的Canvas绘图操作(三)
- HTML5中的Canvas绘图操作(四)
- HTML5中的Canvas绘图操作(五)
- 夏令营-开营测试
- Dynamics CRM 不同的站点地图下设置默认不同的仪表板
- c++之STL(13) STL 算法 - 查找算法(3)search() find_end()
- 简单的使用定时器实现按键消抖,写得不好,望大家给指点一二。多谢了。
- 【解题报告】2016.8.4·OI夏令营·开营测试
- HTML5中的Canvas
- [又值奥运季] 2016年里约奥运会--8月6日赛事
- 2016.8.4信息学训练营练习
- 学习Flask摘要 - 第1,2章
- 定时任务的配置 及原理
- 【读书笔记】java构造器
- 连续输入密码错误3次,第二天才能登录
- Linux内核线程(一)
- HEXAGON的意思,举例说明