Files
edgetx-gx12/util/img2lbm.py
T
2012-11-29 22:13:51 +00:00

74 lines
2.3 KiB
Python

#!/usr/bin/env python
import sys
from PyQt4 import Qt, QtGui
image = QtGui.QImage(sys.argv[1])
width, height = image.size().width(), image.size().height()
f = open(sys.argv[2], "w")
if sys.argv[3] == "img":
rows = 1
if len(sys.argv) > 4:
rows = int(sys.argv[4])
f.write("%d,%d,\n" % (width, height/rows))
for y in range(0, height, 8):
for x in range(width):
value = 0
for z in range(8):
if image.pixel(x, y+z) == Qt.qRgb(0, 0, 0):
value += 1 << z
f.write("0x%02x," % value)
f.write("\n")
elif sys.argv[3] == "3x5":
for y in range(0, height, 5):
for x in range(width):
value = 0
for z in range(5):
if image.pixel(x, y+z) == Qt.qRgb(0, 0, 0):
value += 1 << z
f.write("0x%02x," % value)
f.write("\n")
elif sys.argv[3] == "4x6":
for y in range(0, height, 7):
for x in range(width):
value = 0
for z in range(7):
if image.pixel(x, y+z) == Qt.qRgb(0, 0, 0):
value += 1 << z
f.write("0x%02x," % value)
f.write("\n")
elif sys.argv[3] == "5x7":
for y in range(0, height, 8):
for x in range(width):
value = 0
for z in range(8):
if image.pixel(x, y+z) == Qt.qRgb(0, 0, 0):
value += 1 << z
f.write("0x%02x," % value)
f.write("\n")
elif sys.argv[3] == "8x10":
for y in range(0, height, 12):
for x in range(width):
for l in range(0, 12, 8):
value = 0
for z in range(8):
if l+z < 12 and image.pixel(x, y+l+z) == Qt.qRgb(0, 0, 0):
value += 1 << z
f.write("0x%02x," % value)
f.write("\n")
elif sys.argv[3] == "10x14":
for y in range(0, height, 16):
for x in range(width):
for l in range(0, 16, 8):
value = 0
for z in range(8):
if image.pixel(x, y+l+z) == Qt.qRgb(0, 0, 0):
value += 1 << z
f.write("0x%02x," % value)
f.write("\n")
else:
print "wrong arg"