2

ポイントが楕円上にあるかどうかをチェックするbool関数があります。また、ユーザーはマウスを楕円パスの近くに移動して楕円を選択し、新しい場所に移動できます。楕円の外接長方形の角の点を確認しました。ユーザーがこれらの 4 つの点を選択すると、既に実装した楕円のサイズ変更機能が有効になります。

移動機能を有効にするために、cushionRegion クラスを使用して (つまり、マウスの位置にパディングが提供される) 距離にあるポイントをチェックしています。

試した:: 次のコードでは、3 つの外接する四角形を考慮しており、チェックする点が楕円の外側と楕円の内側の領域の間にある場合は true を返し、そうでない場合は false を返します。

赤く塗られた領域でポイントをチェックしたい。pS::連続する境界矩形間の距離は、図に描かれているのとは異なり、同じです。つまり、楕円の端 (外側、中央、内側) の間の距離は同じ です私が参照したリンク::ソリューションのリンク 1

編集:: GraphicsPath.IsOutlineVisible()の問題を解決しました

4

2 に答える 2

1

GraphicsPath オブジェクトを直接使用して IsOutlineVisible(point,Pen) を呼び出し、これを行いました。

于 2013-08-12T08:38:33.623 に答える
1

Regionオブジェクトが手元にある場合は、次のように、それがサポートするメソッドを使用しないでくださいIsVisible:

if(yourEllipseRegion.IsVisible(pointToCheck)){
   //your code here
}

詳細情報Region.IsVisible

于 2013-08-12T07:48:41.510 に答える