#!/usr/bin/env python3 # -*- coding:utf-8 -*- import sys import os pydir = os.path.join(os.path.dirname(os.path.dirname(os.path.realpath(__file__)))) picdir = os.path.join(pydir, "wavesharelib",'pic') libdirs = [ os.path.join(pydir), os.path.join(pydir, 'wavesharelib','lib'), ] for d in libdirs: if os.path.exists(d): sys.path.append(d) import logging from waveshare_epd import epd2in13_V2 import time from PIL import Image,ImageDraw from simpilib import wrapText,loadFontSize epd = epd2in13_V2.EPD() logging.info("init and Clear") epd.init(epd.FULL_UPDATE) epd.Clear(0xFF) image = Image.new('1', (epd.height, epd.width), 255) draw = ImageDraw.Draw(image) try: import requests import json import random r = requests.get('https://type.fit/api/quotes') r = r.json() r = random.choices(r)[0] text = r["text"] + " - " + r["author"] except Exception as ex: text = str(ex) fontpath = os.path.join(picdir, 'Font.ttc') text, longline = wrapText(text) font = loadFontSize(text, draw, image, fontpath) w, h = draw.textsize(text, font=font) center = ( int((epd.height-w)/2), int((epd.width-h)/2) ) print(center, (w, h), (epd.width, epd.height)) draw.text(center, text, align="center", font = font, fill = 0) # epd.display(epd.getbuffer(image.rotate(180))) epd.display(epd.getbuffer(image)) epd.sleep() epd.Dev_exit()