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