你的位置:首页 > 网页设计

[网页设计]html5 canvas围绕中心点旋转


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html window.addEventListener('load',eventWindowLoaded,false);function eventWindowLoaded(){  canvasApp();}function canvasSupport(){  return Modernizr.canvas;}function canvasApp(){  if(!canvasSupport()){    return;  }else{    var theCanvas = document.getElementById('canvas')    var context = theCanvas.getContext("2d")  }  drawScreen();  function drawScreen(){    context.fillStyle="black";    context.fillRect(20,20,25,25);            context.setTransform(1,0,0,1,0,0);    var angleInRadians = 45 * Math.PI / 180;    var x = 100;    var y = 100;    var width = 50;    var height = 50;    context.translate(x+.5*width,y+.5*height);    context.rotate(angleInRadians);    context.fillStyle="red";    context.fillRect(-.5*width,-.5*height,width,height);      }  }</script><canvas id="canvas" width="500" height="500">你的浏览器无法使用canvas小白童鞋;你的支持是我最大的快乐!!</canvas></body></html>

 

这一次我们设置了变量。。。是不是感觉看起来莫名的亲切了

    var x = 100;    var y = 100;    var width = 50;    var height = 50;

然后我们用函数context.translate把画布原点平移到红色正方形的中心点。
这个函数可以将画布原点移到(x,y)处。这里将原点X坐标值设为红色正方形的左上角的X值(100)
加上其一半的宽度。使用前面创建的变量即可控制这个红色正方形的属性

X+0.5*width
然后Y坐标
然后执行平移函数
然后旋转