2016-08-30 14 views
0

私は基本的な描画アプリケーションを作成しています。私は基本的な形と色の変更オプションを実装しました。現在、Listに描画された各パスを保存しています。Android - キャンバスで描かれたパスを選択/ハイライト表示

は今、私は次のように編集オプションの作品を追加したい:

描かれた形状(パス)上のユーザーのクリックは、それが を強調しなければならないと、ユーザが形状を編集することができるはずですとき。

これをどのように達成できますか?

答えて

0

パスに入れたポイントの束を保持する必要があります。

ブルートフォースルーチンは以下のようにする必要があります:

1)タッチダウンイベントがトリガされました。
2)タッチポイントまでの各パスのすべてのポイントからユークリッド距離を計算します。
3)最短距離を見つけて、距離が十分に短いことを確認します。
4)その場合は、選択するパスを選択します。
5)選択したポイントまたは他のポイントを必要に応じて編集します。

それぞれに100ポイントのパスが20ある場合は、少なくとも2000回Math.sqrt()を計算する必要があります。 パフォーマンスのために、ユークリッドの代わりにマンハッタン距離の方法を選択できます。

OpenCV機能を使用することをお勧めします。

関連する問題