Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/12/2013, 14:43
Avatar de patilanz
patilanz
 
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 11 meses
Puntos: 29
Canvas rotar dibujo sin movimiento

Hola tengo la siguiente función:

Código Javascript:
Ver original
  1. pj.draw=function(x,y,width,height,rotate){
  2.     width=width||pj.width;
  3.     height=height||pj.height;
  4.     rotate=rotate||this.rotate;
  5.     c.save();
  6.     c.setTransform(1,0,0,1,0,0);
  7.     c.translate(x+.5*width,(y+height/2)+.5*height);
  8.     c.rotate(rotate*Math.PI/180);
  9.    
  10.     c.fillStyle=pj.color1;
  11.     c.fillRect(-.5*width,-.5*height,width,height/2);
  12.    
  13.     x-=x+width/2;
  14.     y-=y+height;
  15.  
  16.     c.fillStyle=pj.color2;
  17.     c.beginPath();
  18.         c.moveTo(x,y+height/2);
  19.         c.lineTo(x+width,y+height/2);
  20.         c.lineTo(x+width/2,y);
  21.         c.lineTo(x,y+height/2);
  22.     c.closePath();
  23.     c.fill();
  24.     c.restore();
  25. }

Los parámetros pueden ser cualquiera. El problema es que el objeto se dibujo bien pero al rotar cambia ligeramente su posición, como evitar esto?

Saludos