import Image, ImageDraw, ImageFont
import serial
import time
com = serial.Serial(
port=11,
baudrate=115200,
bytesize=8,
parity='N',
stopbits=1,
timeout=None,
xonxoff=0,
rtscts=0,
writeTimeout=None,
dsrdtr=None)
com.timeout=0.5
dict = {'0000': '0', '0001': '1', '0010': '2', '0011': '3',
'0100': '4', '0101': '5', '0110': '6', '0111': '7',
'1000': '8', '1001': '9', '1010': 'A', '1011': 'B',
'1100': 'C', '1101': 'D', '1110': 'E', '1111': 'F' }
marks = [ ( 0, 0, 61, 8),
( 0, 8, 61,16),
( 0,16, 61,24),
( 0,24, 61,32),
(61, 0,122, 8),
(61, 8,122,16),
(61,16,122,24),
(61,24,122,32)]
def makeimage(line1, line2):
text1=line1
text2=line2
img = Image.new("1", (122, 32), 1)
draw = ImageDraw.Draw(img)
font = ImageFont.truetype("C:\WINNT\Fonts\msgothic.ttc", 14, index=2, encoding="unic")
draw.text((1,1), text1, font=font, fill=0)
font = ImageFont.truetype("C:\WINNT\Fonts\msgothic.ttc", 10, index=2, encoding="unic")
draw.text((1,18), text2, font=font, fill=0)
return img
def boxfilter(imd):
im=imd
serdata = []
for i in marks:
box=i
im2=im.crop(box)
im3=im2.transpose(Image.ROTATE_270)
for y in range((im3.size[1])):
row = []
for x in range((im3.size[0])):
value = im3.getpixel((x, y))
if value == 0:
row.append('1')
else:
row.append('0')
data = ''.join(row)
data1 = data[0:4]
serdata.append(dict[data1])
data2 = data[4:8]
serdata.append(dict[data2])
return ''.join(serdata)
def printdata(senddata):
sentdata=senddata
print >>com, '%'
print >>com, sentdata
time.sleep(1)
print >>com, '@HANTEN'
time.sleep(1)
while 1:
imd=makeimage(u'愛しあってるかい!', u'もうラブラブでっせ☆★☆')
printdata(boxfilter(imd))
imd=makeimage(u'え?定時過ぎなのに', u'EM板を資料ナシで見てって?')
printdata(boxfilter(imd))
imd=makeimage(u'今日はもう疲れたよ。', u'水曜はノー残デーだし帰ろうよ。')
printdata(boxfilter(imd))
imd=makeimage(u'そんな仕事するなんて、', u'北村さんもほんとに物好きね。')
printdata(boxfilter(imd))