[Image-SIG] How to deal with BGRA color model in PIL?
fredrik at pythonware.com
Thu Oct 6 13:55:58 CEST 2005
"john taylor" wrote:
> i have a string of pixel values, which uses the BGRA
> color model, is there an easy way (hopefully the most
> efficient way) to convert it into the RGBA model, so
> that the image can be displayed correctly?
if you have data in a string, you can use Image.fromstring to load it into a
memory buffer, converting it on the way:
pixel = "\x01\x02\x03\x04"
im = Image.fromstring("RGBA", (1, 1), pixel, "raw", "BGRA")
print im.getpixel((0, 0)) # prints (3, 2, 1, 4)
if you have the data in an image memory in the wrong order, you can either
use split/merge (see Laszlo's reply), or roundtrip via a string buffer:
im = ...
new_im = Image.fromstring("RGBA", im.size, im.tostring(), "raw", "BGRA")
More information about the Image-SIG