Color of a screen pixel: Difference between revisions

Content added Content deleted
(→‎{{header|Python}}: always return tuple)
Line 61: Line 61:


=={{header|Python}}==
=={{header|Python}}==
{{libheader|PyWin32}}
<lang python>def get_pixel_colour(i_x, i_y):
import win32gui
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)

print get_pixel_colour(0, 0)</lang>

{{libheader|PIL}}
{{libheader|PIL}}


Line 79: Line 90:
o_pil_image_rgb = PIL.Image.fromstring("RGB", (1, 1), o_x_image.data, "raw", "BGRX")
o_pil_image_rgb = PIL.Image.fromstring("RGB", (1, 1), o_x_image.data, "raw", "BGRX")
lf_colour = PIL.ImageStat.Stat(o_pil_image_rgb).mean
lf_colour = PIL.ImageStat.Stat(o_pil_image_rgb).mean
li_colour = map(int, lf_colour)
return tuple(map(int, lf_colour))
return li_colour

print get_pixel_colour(0, 0)</lang>
{{libheader|PyQt}}
<lang python>def get_pixel_colour(i_x, i_y):
import PyQt4.QtGui # python-qt4
app = PyQt4.QtGui.QApplication([])
long_qdesktop_id = PyQt4.QtGui.QApplication.desktop().winId()
long_colour = PyQt4.QtGui.QPixmap.grabWindow(long_qdesktop_id).toImage().pixel(i_x, i_y)
i_colour = int(long_colour)
return ((i_colour >> 16) & 0xff), ((i_colour >> 8) & 0xff), (i_colour & 0xff)


print get_pixel_colour(0, 0)</lang>
print get_pixel_colour(0, 0)</lang>
Line 98: Line 98:
o_gdk_pixbuf = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, False, 8, 1, 1)
o_gdk_pixbuf = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, False, 8, 1, 1)
o_gdk_pixbuf.get_from_drawable(gtk.gdk.get_default_root_window(), gtk.gdk.colormap_get_system(), i_x, i_y, 0, 0, 1, 1)
o_gdk_pixbuf.get_from_drawable(gtk.gdk.get_default_root_window(), gtk.gdk.colormap_get_system(), i_x, i_y, 0, 0, 1, 1)
return o_gdk_pixbuf.get_pixels_array().tolist()[0][0]
return tuple(o_gdk_pixbuf.get_pixels_array().tolist()[0][0])


print get_pixel_colour(0, 0)</lang>
print get_pixel_colour(0, 0)</lang>
{{libheader|PyWin32}}
{{libheader|PyQt}}
<lang python>def get_pixel_colour(i_x, i_y):
<lang python>def get_pixel_colour(i_x, i_y):
import win32gui
import PyQt4.QtGui # python-qt4
app = PyQt4.QtGui.QApplication([])
i_desktop_window_id = win32gui.GetDesktopWindow()
long_qdesktop_id = PyQt4.QtGui.QApplication.desktop().winId()
i_desktop_window_dc = win32gui.GetWindowDC(i_desktop_window_id)
long_colour = win32gui.GetPixel(i_desktop_window_dc, i_x, i_y)
long_colour = PyQt4.QtGui.QPixmap.grabWindow(long_qdesktop_id).toImage().pixel(i_x, i_y)
i_colour = int(long_colour)
i_colour = int(long_colour)
return (i_colour & 0xff), ((i_colour >> 8) & 0xff), ((i_colour >> 16) & 0xff)
return ((i_colour >> 16) & 0xff), ((i_colour >> 8) & 0xff), (i_colour & 0xff)


print get_pixel_colour(0, 0)</lang>
print get_pixel_colour(0, 0)</lang>