2012-02-04 81 views
-2

我有一個位圖(網絡‹ img ›,2048x1365)並在其上放一個點(‹ div ›絕對大小爲1px)。 當我旋轉位圖(在服務器上)時,我想旋轉點(以及Javascript)。滯後旋轉2D

我知道旋轉式:

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

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

但不知何故,我有一個滯後...

我的代碼(PHP):

$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 $ X2 -340,$ Y2 -340
隨着$腐= 180°,這是很好的
隨着$腐= 270°,我必須轉移$ X2 340,$ Y2 340

我不明白這個滯後...

幫忙,here is an example。點是廣場的中心。對於角度10°,我必須爲3個點添加x + 180和y + 70。

非常感謝您的幫助從註釋

+0

不將圖像尺寸*變化*當它是旋轉? – 2012-02-04 16:44:30

+0

爲了幫助,[這裏是一個例子](http://server6.einden.com/test.jpg)。點是廣場的中心。對於角度10°,我必須爲3個點添加x + 180和y + 70。非常感謝您的幫助。 – user1189549 2012-02-04 17:47:11

+0

Anony-Mousse> jpeg的大小始終相同,但實際上會改變圖像大小([請參閱示例](http://server6.einden.com/test.jpg),使用ImageMagick進行更改)。如何計算變化? – user1189549 2012-02-04 17:55:50

回答

0

複製到一個問題:

不將圖像尺寸變化當它旋轉?

計算角落旋轉後,你應該得到的旋轉的圖像大小的位置

(從中可以再計算新的旋轉中心。)