2012-02-04 79 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

复制到一个问题:

不将图像尺寸变化当它旋转?

计算角落旋转后,你应该得到的旋转的图像大小的位置

(从中可以再计算新的旋转中心。)