canvas的图片旋转实例
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style> body{background: black;} div{background: wheat;} </style> <script> window.onload=function(){ var aput=document.getElementsByTagName('input'); var aimg=document.getElementById('img1'); var bimg=new Image(); var inow=0; bimg.onload=function(){ draw(aimg); }; bimg.src=aimg.src; function draw(obj){ var oc=document.createElement('canvas'); var gc=oc.getContext('2d'); oc.width=obj.width; oc.height=obj.height; obj.parentNode.replaceChild(oc,obj); gc.drawImage(obj,0,0); //第二个按钮,点击一下让图片顺时针旋转90度 aput[1].onclick=function(){ if(inow==3){ inow=0; }else{ inow++; } toChang(); }; //逆向旋转 aput[0].onclick=function(){ if(inow==0){ inow=3; }else{ inow--; } toChang(); }; function toChang(){ switch(inow){ case 1: oc.width=obj.height; oc.height=obj.width; gc.rotate(90*Math.PI/180); gc.drawImage(obj,0,-obj.height);//调整图片位置 break; case 2: oc.width=obj.width; oc.height=obj.height; gc.rotate(180*Math.PI/180); gc.drawImage(obj,-obj.width,-obj.height); break; case 3: oc.width=obj.height; oc.height=obj.width; gc.rotate(270*Math.PI/180); gc.drawImage(obj,-obj.width,0); break; case 0: oc.width=obj.width; oc.height=obj.height; gc.rotate(0); gc.drawImage(obj,0,0); break; } } } } </script> </head> <body> <input type="button" value="1" /> <input type="button" value="2" /> <div> <img src="img/01.jpg" id="img1"/> </div> </body> </html>
点击按钮,图片旋转

浙公网安备 33010602011771号