canvas绘图 -实现图片围绕中心点旋转
2016-02-24 16:52
621 查看
今天想要学习制作一个抽奖的转盘,想用canvas来绘制转盘,于是重新学习了一下canvas.
1、canvas的使用
要使用元素,必须先设置其width和height属性,制定额可以绘图的区域大小。出现在开始和结束标签中的内容是后备信息,如果浏览器不支持元素,就会显示后备信息。
3、需要编写旋转函数,让转盘旋转。这一步的时候,遇到了困难,因为如果想让图像围绕着其中心点旋转,需要移动绘图原点。
4.调用rotate(),用self.setInterval(rotate,80);每隔一段时间调用一次
至此,转盘就可以旋转了
rotate()函数编写的时候,参考了很多网上的文章,也花费了一些功夫,这一篇讲的比较明白理解canvas的rotate中心点
1、canvas的使用
要使用元素,必须先设置其width和height属性,制定额可以绘图的区域大小。出现在开始和结束标签中的内容是后备信息,如果浏览器不支持元素,就会显示后备信息。
<canvas id="inner-circle" width="510px" height="510px">您的浏览器不支持canvas</canvas> 在画布上绘图,需要取得绘图上下文。
var canvas = document.getElementById("inner-circle"); var context = canvas.getContext("2d");
2、因为有设计好的抽奖psd文件,所以,切图完毕后,需要用canvas绘制图片,用到了drawImage(),这个函数接受的参数 要绘制的图像,绘制的x坐标,y坐标。
var canvas = document.getElementById("inner-circle"); var context = canvas.getContext("2d");var image = new Image();
image.onload=function(){
context.drawImage(image,0,0);
}
image.src = "images/inner-circle.png";
3、需要编写旋转函数,让转盘旋转。这一步的时候,遇到了困难,因为如果想让图像围绕着其中心点旋转,需要移动绘图原点。
function rotate(){ var x = canvas.width/2; //画布宽度的一半 var y = canvas.height/2;//画布高度的一半 context.clearRect(0,0, canvas.width, canvas.height);//先清掉画布上的内容 context.translate(x,y);//将绘图原点移到画布中点 context.rotate((Math.PI/180)*5);//旋转角度 context.translate(-x,-y);//将画布原点移动 context.drawImage(image,0,0);//绘制图片 }
4.调用rotate(),用self.setInterval(rotate,80);每隔一段时间调用一次
至此,转盘就可以旋转了
rotate()函数编写的时候,参考了很多网上的文章,也花费了一些功夫,这一篇讲的比较明白理解canvas的rotate中心点
相关文章推荐
- ci框架目录结构分析
- Android-Tab单选控件
- Activiti-5.3工作流引擎-源码解析(流程文档解析)
- jmeter --- 测试计划里的元件
- String对象不可改变的特性
- 4G模块ME3760_V2 端口映射
- 安卓手机unauthorized问题解决方法
- R 中的UNICODE字符转换为中文
- QT加载office文件简单方法
- 文件高级---IO处理,文件锁,存储映射
- 23种设计模式(10):责任链模式
- C#怎么设置子窗体在主窗体中居中显示
- 初识Android的ReactiveX
- ubuntu安装lua5.3.2
- CSS常见问题及兼容性
- MS SQL 小总结
- [Java] Java反射
- bzoj 2434 [Noi2011]阿狸的打字机(fail树+离线处理+BIT)
- 各系统安装包格式
- 面试乱谈谈