2012-02-16 20 views
0

たとえば、幅10、高さ120の10,10で画像位置を得ました。時計回りに20度回転させたとき、エッジが出てくるので位置が小さくなり、サイズが大きくなります。しかし、私はそれらの価値をどのように計算するでしょうか?回転イメージ領域を取得する方法は?

私は質問を十分に明確にしましたが、私がそれを説明する良い方法を見つけたら、それを変更します。 Androidの

+0

最も簡単な方法は、塗料でアウトライン画像を提供することであり、またはどんなプログラムを計算したいのですか? – fyr

+0

これは私が達成しようとしているものですが、実際の画像ファイルはrではないので輪郭を描く方法を知りたいですオーティー;それはキャンバスに描画されたときだけ回転します – Fuse

+0

私は、衝突やクリック検出などの他の検出に使用できるので、アウトラインの値が必要です。 – Fuse

答えて

0

でこれをやろうとし

私はあなたがその中心の周りに回転させる場合は、オブジェクトのバウンディングボックスを変換する方法を知りたいと仮定します。

元のボックスは、幅W及び高さHを有している場合、新しいものは、Rで回転した後、寸法があります R = ABS(SIN(R))*のH + ABS(COS(W

をR))*
H R = ABS(SIN(R))* W + ABS(COS(R))* wのようなものを表現する時間

+0

これは私があなたの公式に基づいて行ったものです width2 =((Math.abs(Math.sin(angle))* height)+(Math.abs(Math.cos(angle))* width));height2 =((Math.abs(Math.sin(angle))* width)+(Math.abs(Math.cos(angle))* height))); 結果は期待通りではなく、高さ/幅の増加は235から197になる可能性があります。間違っていますか? – Fuse

+0

私の200x150ボックスの90度は223x246で、正しいことがあります – Fuse

+0

あなたのシステムのsin関数とcos関数はおそらく度ではなくラジアンを期待しています。 –

関連する問題