Diez B. Roggisch wrote:
superpollo wrote:
...
high = len(raster_lines)
wide = len(raster_lines[0])
bytes_in_a_row = wide/bits_in_a_byte


This will give you the wrong result if not divideable by bits_in_a_byte.

then maybe:

#!/usr/bin/env python
import Image
import sys
bits_in_a_byte = 8
raster_string = """\
0000000000000000000000
00100100111100100000100000111100
00100100100000100000100000100100
00111100111000100000100000100100
00100100100000100000100000100100
00100100111100111100111100111100
00000000000000000000000000000000
00000000000000000000000000000000
00000000111100100000111100000000
00000000100000100000100100000000
00000000100000100000111100000000
00000000100000100000100000000000
00000000111100111100100000000000
00000000000000000000000000000000
"""
raster_lines = raster_string.splitlines()
high = len(raster_lines)
wide = len(raster_lines[0])
bytes_in_a_row = wide/bits_in_a_byte
wide_for_real = bytes_in_a_row*bits_in_a_byte
if wide_for_real:
    bitmap = ""
    for raster_line in raster_lines:
        for byte_count in range(bytes_in_a_row):
            first_bit = byte_count*bits_in_a_byte
bitmap += chr(int(raster_line[first_bit:first_bit+bits_in_a_byte] ,
2))
    im = Image.fromstring("1", (wide_for_real , high) , bitmap)
    im.save(sys.stdout , "PNG")

bye
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to