たとえば、幅10、高さ120の10,10で画像位置を得ました。時計回りに20度回転させたとき、エッジが出てくるので位置が小さくなり、サイズが大きくなります。しかし、私はそれらの価値をどのように計算するでしょうか?回転イメージ領域を取得する方法は?
私は質問を十分に明確にしましたが、私がそれを説明する良い方法を見つけたら、それを変更します。 Androidの
たとえば、幅10、高さ120の10,10で画像位置を得ました。時計回りに20度回転させたとき、エッジが出てくるので位置が小さくなり、サイズが大きくなります。しかし、私はそれらの価値をどのように計算するでしょうか?回転イメージ領域を取得する方法は?
私は質問を十分に明確にしましたが、私がそれを説明する良い方法を見つけたら、それを変更します。 Androidの
でこれをやろうとし
私はあなたがその中心の周りに回転させる場合は、オブジェクトのバウンディングボックスを変換する方法を知りたいと仮定します。
元のボックスは、幅W及び高さHを有している場合、新しいものは、Rで回転した後、寸法があります R = ABS(SIN(R))*のH + ABS(COS(W
をR))*
H R = ABS(SIN(R))* W + ABS(COS(R))* wのようなものを表現する時間
これは私があなたの公式に基づいて行ったものです 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
私の200x150ボックスの90度は223x246で、正しいことがあります – Fuse
あなたのシステムのsin関数とcos関数はおそらく度ではなくラジアンを期待しています。 –
最も簡単な方法は、塗料でアウトライン画像を提供することであり、またはどんなプログラムを計算したいのですか? – fyr
これは私が達成しようとしているものですが、実際の画像ファイルはrではないので輪郭を描く方法を知りたいですオーティー;それはキャンバスに描画されたときだけ回転します – Fuse
私は、衝突やクリック検出などの他の検出に使用できるので、アウトラインの値が必要です。 – Fuse