how to convert a bitmap file to an array ?

Steve Holden steve at
Sat Jun 9 13:39:04 CEST 2007

stef wrote:
> Stefan Sonnenberg-Carstens wrote:
>> stef schrieb:
>>> hello
>>> I can find all kind of procedures to convert an array to a bitmap
>>> (wxPython, PIL),
>>> but I can't find the reverse,
>>> either
>>>    - convert a bitmap to an array
>>> or
>>>   - read a bitmap file to an array
>>> thanks,
>>> Stef Mientki
>> Take a look at the "struct" module.
>> There you fill find pack/unpack, which can do what you need.
> thanks Stefan,
> but using struct, I need to know how a bitmap file is build,
> I don't know that (and I rather don't want to know that ;-)
> Any better solutions (I'm a spoiled Delphi user ;-)
I can offer the code below, but I can't guarantee you won't need to play 
with it. You can almost certainly ignire the fonty bits!

def _setupContext(memory, font=None, color=None):
         if font:
         if color:

def write( text, bitmap, pos=(0,0), font=None, color=None):
         """Simple write into a bitmap doesn't do any checking."""
         memory = wx.MemoryDC()
         _setupContext(memory, font, color)
         width, height = memory.GetTextExtent(text)
                 memory.DrawText(text, pos[0],pos[1],)
         return width

def bitmapToPil(bitmap):
     return imageToPil(bitmapToImage(bitmap))

def bitmapToImage(bitmap):
     return wx.ImageFromBitmap(bitmap)

def pilToBitmap(pil):
     return imageToBitmap(pilToImage(pil))

def pilToImage(pil):
     image = wx.EmptyImage(pil.size[0], pil.size[1])
     return image

def imageToPil(image):
     pil ='RGB', (image.GetWidth(), image.GetHeight()))
     return pil

def imageToBitmap(image):
     return image.ConvertToBitmap()

Steve Holden        +1 571 484 6266   +1 800 494 3119
Holden Web LLC/Ltd 
Skype: holdenweb
--------------- Asciimercial ------------------
Get on the web: Blog, lens and tag the Internet
Many services currently offer free registration
----------- Thank You for Reading -------------

More information about the Python-list mailing list