0
我正在嘗試爲我製作的透明Tkinter小部件添加模糊效果。在Python或C++中獲取像素顏色的最快方法?
我提出的插件與該線(片斷)部分透明
self.attributes("-alpha", 0.85)
爲了增加我希望我需要在widget每個單獨像素的RGB值的效果。看到這個小部件只是部分不透明,我不能使用.cget方法,因爲它返回它的填充RGB值(顏色在部分透明之前),而不是實際的RGB值。
我目前使用此功能(片段)
def get_pixel_colour(self, i_x, i_y):
i_desktop_window_id = win32gui.GetDesktopWindow()
i_desktop_window_dc = win32gui.GetWindowDC(i_desktop_window_id)
long_colour = win32gui.GetPixel(i_desktop_window_dc, i_x, i_y)
i_colour = int(long_colour)
return (i_colour & 0xff), ((i_colour >> 8) & 0xff), ((i_colour >> 16) & 0xff)
然而,遠太爲我的目的很慢。有沒有更快的方法來獲取像素顏色?
編輯:
如果Python是太慢了這個目的,我也可以用C++。 我只需要獲取不同x,y座標處的像素的RGB值。
這聽起來像是在Python中完成時會太慢。似乎你甚至在那裏引入了一個討厭的平臺依賴。而當談到實時圖形時,無論如何get_pixel_color函數通常都是一個壞主意。 – 2011-01-29 12:44:55