canvas实现图片围绕左上角一点进行旋转
2017-07-04 10:40
441 查看
canvas插入图片,需要先在onload事件中预加载图片,然后在用drawImage()方法插入图片。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> <input type="button" value="逆时针" /> <input type="button" value="顺时针" /> <div id=""> <img src="img/code.jpg" id="myimg"/> </div> </body> <script> window.onload = function(){ var aInput = document.getElementsByTagName('input'); var oImg = document.getElementById('myimg'); var yImg = new Image(); var isNow = 0; yImg.onload = function(){ draw(oImg); } yImg.src = oImg.src; function draw(obj){ var oC = document.createElement('canvas');//创建canvas节点用来替换img节点 var oGc = oC.getContext('2d'); //将canvas的宽高和图片宽高设置成一样的 oC.width = obj.width; oC.height = obj.height; obj.parentNode.replaceChild(oC,obj); oGc.drawImage(obj,0,0); aInput[0].onclick = function(){ if (isNow == 0) { isNow = 3; } else{ isNow--; } tochange(); } aInput[1].onclick = function(){ if (isNow ==3) { isNow = 0; } else{ isNow++; } tochange(); } function tochange(){ switch (isNow){ case 0: oC.width = obj.width; oC.height = obj.height; oGc.rotate(0); oGc.drawImage(obj,0,0); break; case 1: oC.width = obj.height; oC.height = obj.width; oGc.rotate(90*Math.PI/180); oGc.drawImage(obj,0,-obj.height); break; case 2: oC.width = obj.width; oC.height = obj.height; oGc.rotate(180*Math.PI/180); oGc.drawImage(obj,-obj.width,-obj.height); break; case 3: oC.width = obj.height; oC.height = obj.width; oGc.rotate(270*Math.PI/180); oGc.drawImage(obj,-obj.width,0); break; default: break; } } } } </script> </html>
相关文章推荐
- canvas绘图 -实现图片围绕中心点旋转
- Unity3d实现物体围绕某一点进行旋转
- javascript结合canvas实现图片旋转效果
- 使用HTML5 canvas 标签进行图片裁剪、旋转、缩放
- Javascript与HTML5的canvas实现图片旋转效果
- 动画效果,几张图片围绕一点旋转
- canvas实现图片旋转缩放
- 赵雅智_运用Bitmap和Canvas实现图片显示,缩小,旋转,水印
- 赵雅智_运用Bitmap和Canvas实现图片显示,缩小,旋转,水印
- 基于Android 实现图片平移、缩放、旋转同时进行
- canvas实现图片缩放、移动、旋转
- JavaScript canvas实现围绕旋转动画
- canvas操作图片,进行面板画图,旋转等
- 用canvas实现围绕旋转动画
- 详解通过HTML5 Canvas实现图片的平移及旋转变化的方法
- Android中实现图片平移、缩放、旋转同步进行
- javascript结合canvas实现图片旋转效果
- 图片(旋转/缩放/翻转)变换效果(ccs3/滤镜/canvas)
- SilverLight用代码实现对任意控件向4个方向进行3D旋转的类
- Windows Mobile上实现图片任意角度旋转