Created
September 11, 2020 17:34
-
-
Save stackdump/ce078e157fee0615021cb5590062d4ee to your computer and use it in GitHub Desktop.
Draw on 2.7 in e-ink raspberry pi hat
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/python | |
# -*- coding:utf-8 -*- | |
import sys | |
import os | |
picdir = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'pic') | |
libdir = os.path.join(os.path.dirname(os.path.dirname(os.path.realpath(__file__))), 'lib') | |
if os.path.exists(libdir): | |
sys.path.append(libdir) | |
import logging | |
from waveshare_epd import epd2in7 | |
import time | |
from PIL import Image,ImageDraw,ImageFont | |
import traceback | |
logging.basicConfig(level=logging.DEBUG) | |
try: | |
logging.info("epd2in7 Demo") | |
epd = epd2in7.EPD() | |
'''2Gray(Black and white) display''' | |
logging.info("init and Clear") | |
epd.init() | |
epd.Clear(0xFF) | |
font24 = ImageFont.truetype(os.path.join(picdir, 'Font.ttc'), 24) | |
font18 = ImageFont.truetype(os.path.join(picdir, 'Font.ttc'), 18) | |
font35 = ImageFont.truetype(os.path.join(picdir, 'Font.ttc'), 35) | |
# Drawing on the Horizontal image | |
logging.info("1.Drawing on the Horizontal image...") | |
Himage = Image.new('1', (epd.height, epd.width), 255) # 255: clear the frame | |
draw = ImageDraw.Draw(Himage) | |
draw.text((10, 0), 'hello world', font = font24, fill = 0) | |
draw.text((150, 0), u'¯\_(ツ)_/¯', font = font24, fill = 0) | |
draw.line((20, 50, 70, 100), fill = 0) | |
draw.line((70, 50, 20, 100), fill = 0) | |
draw.rectangle((20, 50, 70, 100), outline = 0) | |
draw.line((165, 50, 165, 100), fill = 0) | |
draw.line((140, 75, 190, 75), fill = 0) | |
draw.arc((140, 50, 190, 100), 0, 360, fill = 0) | |
draw.rectangle((80, 50, 130, 100), fill = 0) | |
draw.chord((200, 50, 250, 100), 0, 360, fill = 0) | |
epd.display(epd.getbuffer(Himage)) | |
#time.sleep(2) | |
logging.info("Clear...") | |
#epd.Clear(0xFF) | |
logging.info("Goto Sleep...") | |
epd.sleep() | |
epd.Dev_exit() | |
except IOError as e: | |
logging.info(e) | |
except KeyboardInterrupt: | |
logging.info("ctrl + c:") | |
epd2in7.epdconfig.module_exit() | |
exit() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment