Lightningbeam/PyGUI-2.5.3/GUI/Gtk/PIL.py

28 lines
798 B
Python

#--------------------------------------------------------------
#
# PyGUI - PIL interface - Gtk
#
#--------------------------------------------------------------
from gtk import gdk
from gtk.gdk import COLORSPACE_RGB
from GUI import Image
def image_from_pil_image(pil_image):
"""Creates an Image from a Python Imaging Library (PIL)
Image object."""
mode = pil_image.mode
w, h = pil_image.size
data = pil_image.tostring()
if mode == "RGB":
bps = 3; alpha = False
elif mode == "RGBA":
bps = 4; alpha = True
else:
raise ValueError("Unsupported PIL image mode '%s'" % mode)
bpr = w * bps
image = Image.__new__(Image)
image._gdk_pixbuf = gdk.pixbuf_new_from_data(data, COLORSPACE_RGB,
alpha, 8, w, h, bpr)
return image