2011-10-17 22 views
1

私はwxpythonを使用して画像上でクリックされたポイントを記録する簡単なGUIを作成しています。しかし、私はクリックが画像の特定の点にスナップされるようにしたいと思います。方法を提案してください。wxpythonでピクセルにスナップする

答えて

3

固定スケールグリッドにスナップするのが最も簡単のようなものである:

スケールが例えば10個のピクセル、グリッドの大きさである
snap_x = scale * round(x/scale) 
snap_y = scale * round(y/scale) 

ポイントが不均一に分布している場合は、距離(または効率の理由から距離の2乗)に基づいて最も近いものを見つけます。

+0

しかし、あなたは「スナップ」していません。記録されたポイントに近似しているだけです。それはどのように役立つでしょうか? – Vishwanath

+1

これは、スナップが最も近い点を選ぶことです。他に何か覚えていましたか? – bw1024

1

wxPythonのObject Graphics Libraryをご覧ください。ドキュメントは少し散在していますが、Diagram classはグリッドにスナップするための直接サポートを備えています。開始するにはいくつかのアイデアについてwxPython Demo's雑多 - > OGLセクションを見てください。私はプロジェクトwの途中です。 OGL今は - それは何のために素晴らしいですが、私は少し薄いドキュメントを見つけると言ったように。

+0

もっと良い選択肢、あるいはおそらくwxpython.library.oglモジュールを学ぶよい方法を教えてください – Vishwanath

+1

@Vishwanath - OGLのドキュメントはかなり疎です。私は、wxPythonのデモコードが最も使用されていることを発見しました。デモコードではグリッドにスナップ機能が使用されます。また、[wxPyWikiエントリー](http://wiki.wxpython.org/wxOGL)を見てみてください。また、いくつかの代替パッケージがあります。 – ChrisC

関連する問題