#!/usr/bin/python # -*- coding:utf-8 -*- import epd2in13 import time from PIL import Image,ImageDraw,ImageFont import traceback try: epd = epd2in13.EPD() epd.init(epd.lut_full_update) epd.Clear(0xFF) # # read bmp file on window # print("read bmp file on window") # epd.Clear(0xFF) # image1 = Image.new('1', (epd2in13.EPD_WIDTH, epd2in13.EPD_HEIGHT), 255) # 255: clear the frame # bmp = Image.open('100x100.bmp') # image1.paste(bmp, (10,10)) # epd.display(epd.getbuffer(image1)) # time.sleep(2) # # Drawing on the image # image2 = Image.new('1', (epd2in13.EPD_HEIGHT, epd2in13.EPD_WIDTH), 255) # 255: clear the frame # # read bmp file # print("read bmp file") # epd.Clear(0xFF) # image2 = Image.open('2in13.bmp') # epd.display(epd.getbuffer(image2.rotate(180))) # print("Drawing") # epd.Clear(0xFF) # image = Image.new('1', (epd2in13.EPD_HEIGHT, epd2in13.EPD_WIDTH), 255) # 255: clear the frame # draw = ImageDraw.Draw(image) # draw.rectangle([(0,0),(50,50)],outline = 0) # draw.rectangle([(55,0),(100,50)],fill = 0) # draw.line([(0,0),(50,50)], fill = 0,width = 1) # draw.line([(0,50),(50,0)], fill = 0,width = 1) # draw.chord((10, 60, 50, 100), 0, 360, fill = 0) # draw.ellipse((55, 60, 95, 100), outline = 0) # draw.pieslice((55, 60, 95, 100), 90, 180, outline = 0) # draw.pieslice((55, 60, 95, 100), 270, 360, fill = 0) # draw.polygon([(110,0),(110,50),(150,25)],outline = 0) # draw.polygon([(190,0),(190,50),(150,25)],fill = 0) # font15 = ImageFont.truetype('/usr/share/fonts/truetype/wqy/wqy-microhei.ttc', 15) # draw.text((120, 60), 'e-Paper demo', font = font15, fill = 0) # # draw.text((110, 80), 'Hello world', font = font15, fill = 0) # epd.display(epd.getbuffer(image.rotate(180))) # time.sleep(2) # # partial update # print("Show time") # epd.init(epd.lut_partial_update) # font24 = ImageFont.truetype('/usr/share/fonts/truetype/wqy/wqy-microhei.ttc', 24) # # time_image = Image.new('1', (epd2in13.EPD_HEIGHT, epd2in13.EPD_WIDTH), 255) # draw = ImageDraw.Draw(image) # while (True): # draw.rectangle((120, 80, 220, 105), fill = 255) # draw.text((120, 80), time.strftime('%H:%M:%S'), font = font24, fill = 0) # # newimage = time_image.crop([10, 10, 120, 50]) # # time_image.paste(newimage, (10,10)) # epd.display(epd.getbuffer(image.rotate(180))) # epd.sleep() except: print( 'traceback.format_exc():\n%s',traceback.format_exc()) exit()