[python-win32] Convert RGBA to BGRA using standard library?

Tim Roberts timr at probo.com
Tue May 31 20:53:43 CEST 2011


Greg Ewing wrote:
> Can anyone think of an efficient way to convert a string
> full of RGBA image data to BGRA, using only what's available
> in the standard library?
>
> I'm trying to add a function to PyGUI for creating an Image
> object from arbitrary data. The problem I'm having is that
> GDI+ on Windows expects BGRA, whereas most other platforms
> deal with RGBA. I don't want to require the user to supply
> the data in different formats on different platforms, so
> PyGUI needs to be able to convert where necessary.
>
> I know the conversion can be done easily using something
> like PIL or numpy, but I'm after a solution that doesn't
> depend on any third-party libraries.

Nothing other than brute force.

  bout = []
  for i in range(0,len(bin),4):
    bout.extend( [bin[i+2], bin[i+1], bin[i], bin[i+3]) )

It ain't gonna be quick.  If it were me, I'd rather ship PIL.

-- 
Tim Roberts, timr at probo.com
Providenza & Boekelheide, Inc.



More information about the python-win32 mailing list