2011-10-17 13 views
1

我正在創建一個簡單的GUI來記錄使用wxpython在圖像上單擊的點。但是,我希望點擊可以捕捉到圖像上的某些點。請建議方法。捕捉到wxpython中的像素

回答

3

捕捉到一個固定刻度格,最簡單的是一樣的東西:

snap_x = scale * round(x/scale) 
snap_y = scale * round(y/scale) 

其中規模是網格的大小,例如10個像素。

如果點不均勻分佈,則根據距離(或出於效率原因的距離平方)尋找最近的點。

+0

但是,你不是'攫取',你只是接近記錄點。這將如何幫助? – Vishwanath

+1

這就是攫取 - 挑選最近的點。你有沒有別的想法? – bw1024

1

你可能會看看wxPython的Object Graphics Library。文檔有點稀疏,但Diagram class直接支持對齊到網格;看看wxPython Demo's其他 - > OGL部分的一些想法,開始。我正處於一個項目的中間。 OGL現在 - 它的功能很棒,但就像我說過的,我發現文檔有點薄。

+0

請讓我知道更好的選擇,或者學習wxpython.library.ogl模塊的好方法 – Vishwanath

+1

@Vishwanath - OGL的文檔相當稀少。我發現wxPython演示代碼是最有用的;演示代碼使用捕捉到網格功能。你也可以看看關於這個主題的[wxPyWiki條目](http://wiki.wxpython.org/wxOGL),它也有一些可供選擇的軟件包供你考慮。 – ChrisC