2012-02-04 25 views
-2

私はビットマップ(ウェブ‹ img ›,2048x1365)を付けてドットを付けます(‹ div ›絶対サイズ1px)。 ビットマップ(サーバー上)を回転させると、ドットも回転させたい(JavaScriptで)。回転の遅れ2D

私は回転の方程式を知っている:私のコード(PHPで)

...

$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°で、私はシフトしなければなりません$腐敗= 180°、それは、$腐敗= 270°で、私は$×2 340をシフトしなければならない
良いことだ$ Y2 340

を有するT $×2 -340、$ Y2 -340
Iこの遅れを理解していない...

助けてくれるように、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は常に同じサイズですが、実際には画像サイズを変更します([Example](http://server6.einden.com/test.jpg)を参照し、ImageMagickで変更してください)。変更をどのように計算するのですか? – user1189549

答えて

0

コピーあなたの助けをありがとうございました。それを回転させたとき

は、画像サイズ変更をしないのですか?

計算回転後のコーナーの位置と、あなたは(あなたは、新しい回転中心を計算することができ、そこから。)回転画像サイズ