2012-02-04 4 views
-2

비트 맵 (웹 ‹ img ›, 2048x1365)이 있고 점이 찍혀 있습니다 (‹ div › 절대 크기 1px). (서버에서) 비트 맵을 회전 할 때 점을 자바 스크립트로 회전하고 싶습니다. (PHP에서)회전 지연 2D

$cs=cos($radian); 
$sn=sin($radian); 

$x2=($x*$cs)-($y*$sn); 
$y2=($x*$sn)+($y*$cs); 

어쨌든 나는 지연이 ...

내 코드 :

내가 회전의 방정식을 알고

$width=2048; 
$height=1365; 

$radian=$rot*M_PI/180; 

$cs=cos($radian); 
$sn=sin($radian); 

$center_x=$width/2; 
$center_y=$height/2; 

$x-=$center_x; 
$y-=$center_y; 

$x2=($x*$cs)-($y*$sn); 
$y2=($x*$sn)+($y*$cs); 

$x=$x2+$center_x; 
$y=$y2+$center_y; 

$로를 부패 = 6 °, 나는 $ x2 +30, $ y2 +85로 이동해야한다.
$ rot = 21 °, $ x2 +40, $ 2로 이동해야 함 +380
$ rot = 90 °로, 나는 t의 $ 2 배 -340, $ Y2 $ 부패와 -340
= 180 °, 그것은 $ Y2 340

I, I는 $ × 2 340 이동해야,
$ 부패와 = 270 ° 좋은 이 지연을 이해하지 못한다 ...

도움이 필요하면 here is an example. 점들은 정사각형의 중심입니다. 각도 10 °의 경우 3 도트에 x + 180 및 y + 70을 추가해야합니다.

는 질문에 대한 도움을 당신에게 의견에서

+0

이 아닌 이미지 크기 * 변경 * 언제합니까 그것은 회전? –

+0

도움을 받으려면 [여기에 예제가 있습니다.] (http://server6.einden.com/test.jpg). 점들은 정사각형의 중심입니다. 각도 10 °의 경우 3 도트에 x + 180 및 y + 70을 추가해야합니다. 당신의 도움을 주셔서 대단히 감사합니다. – user1189549

+0

Anony-Mousse> JPEG는 항상 같은 크기이지만 실제로 이미지 크기를 변경합니다 ([예제] (http://server6.einden.com/test.jpg) 참조, ImageMagick으로 변경). 변화를 계산하는 방법? – user1189549

답변

0

복사를 대단히 감사합니다 :

는 이미지 크기 변화 때이

회전하지 않습니다?

계산에게 모서리의 위치 회전 후 당신이 회전 이미지 크기 가야

(있는 그런 다음 새로운 회전 중심을 계산할 수 있습니다.)