remove not needed files
@ -1,99 +0,0 @@
 | 
				
			|||||||
#!/usr/bin/python
 | 
					 | 
				
			||||||
# -*- coding:utf-8 -*-
 | 
					 | 
				
			||||||
import sys
 | 
					 | 
				
			||||||
import os
 | 
					 | 
				
			||||||
picdir = os.path.join(os.path.dirname(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 epd1in02
 | 
					 | 
				
			||||||
import time
 | 
					 | 
				
			||||||
from PIL import Image,ImageDraw,ImageFont
 | 
					 | 
				
			||||||
import traceback
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
logging.basicConfig(level=logging.DEBUG)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
try:
 | 
					 | 
				
			||||||
    logging.info("epd1in02 Demo")
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    epd = epd1in02.EPD()
 | 
					 | 
				
			||||||
    logging.info("init and Clear")
 | 
					 | 
				
			||||||
    epd.Init()
 | 
					 | 
				
			||||||
    epd.Clear()
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    # Drawing on the image
 | 
					 | 
				
			||||||
    logging.info("1.Drawing on the image...")
 | 
					 | 
				
			||||||
    image = Image.new('1', (epd.height, epd.width), 255)  # 255: clear the frame
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    draw = ImageDraw.Draw(image)
 | 
					 | 
				
			||||||
    font = ImageFont.truetype(os.path.join(picdir, 'Font.ttc'), 24)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    draw.text((5, 0), 'hello world', font = font, fill = 0)
 | 
					 | 
				
			||||||
    draw.text((15, 40), u'微雪电子', font = font, fill = 0)
 | 
					 | 
				
			||||||
    epd.Display(epd.getbuffer(image))
 | 
					 | 
				
			||||||
    time.sleep(2)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    image = Image.new('1', (epd.height, epd.width), 255)  # 255: clear the frame
 | 
					 | 
				
			||||||
    draw = ImageDraw.Draw(image)
 | 
					 | 
				
			||||||
    draw.rectangle((20, 0, 100, 80), fill = 0)
 | 
					 | 
				
			||||||
    draw.rectangle((22, 2, 98, 78), fill = 255)
 | 
					 | 
				
			||||||
    draw.chord((22, 2, 98, 78), 0, 360, fill = 0)
 | 
					 | 
				
			||||||
    draw.chord((24, 4, 96, 76), 0, 360, fill = 255)
 | 
					 | 
				
			||||||
    draw.line((20, 0, 100, 80), fill = 0)
 | 
					 | 
				
			||||||
    draw.line((20, 80, 100, 0), fill = 0)
 | 
					 | 
				
			||||||
    epd.Display(epd.getbuffer(image))
 | 
					 | 
				
			||||||
    time.sleep(2)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    # read bmp file 
 | 
					 | 
				
			||||||
    logging.info("2.read bmp file...")
 | 
					 | 
				
			||||||
    image = Image.open(os.path.join(picdir, '1in02.bmp'))
 | 
					 | 
				
			||||||
    epd.Display(epd.getbuffer(image))
 | 
					 | 
				
			||||||
    time.sleep(2)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    # read bmp file on window
 | 
					 | 
				
			||||||
    logging.info("3.read bmp file on window...")
 | 
					 | 
				
			||||||
    image1 = Image.new('1', (epd.width, epd.height), 255)  # 255: clear the frame
 | 
					 | 
				
			||||||
    bmp = Image.open(os.path.join(picdir, '100x100.bmp'))
 | 
					 | 
				
			||||||
    image1.paste(bmp, (0,0))    
 | 
					 | 
				
			||||||
    epd.Display(epd.getbuffer(image1))
 | 
					 | 
				
			||||||
    time.sleep(2)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    # # partial update
 | 
					 | 
				
			||||||
    logging.info("4.show time...")
 | 
					 | 
				
			||||||
    epd.Clear()
 | 
					 | 
				
			||||||
    epd.Partial_Init()    
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    time_image = Image.new('1', (epd.height, epd.width), 255)
 | 
					 | 
				
			||||||
    time_draw = ImageDraw.Draw(time_image)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    image_old = epd.getbuffer(time_image)
 | 
					 | 
				
			||||||
    num = 0
 | 
					 | 
				
			||||||
    while (True):
 | 
					 | 
				
			||||||
        time_draw.rectangle((10, 10, 120, 50), fill = 255)
 | 
					 | 
				
			||||||
        time_draw.text((10, 10), time.strftime('%H:%M:%S'), font = font, fill = 0)
 | 
					 | 
				
			||||||
        newimage = time_image.crop([10, 10, 120, 50])
 | 
					 | 
				
			||||||
        time_image.paste(newimage, (10,10))
 | 
					 | 
				
			||||||
        epd.DisplayPartial(image_old, epd.getbuffer(time_image))
 | 
					 | 
				
			||||||
        image_old = epd.getbuffer(time_image)
 | 
					 | 
				
			||||||
        num = num + 1
 | 
					 | 
				
			||||||
        if(num == 10):
 | 
					 | 
				
			||||||
            break
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    logging.info("Clear...")
 | 
					 | 
				
			||||||
    epd.Init()
 | 
					 | 
				
			||||||
    epd.Clear()
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    logging.info("Goto Sleep...")
 | 
					 | 
				
			||||||
    epd.Sleep()
 | 
					 | 
				
			||||||
        
 | 
					 | 
				
			||||||
except IOError as e:
 | 
					 | 
				
			||||||
    logging.info(e)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
except KeyboardInterrupt:    
 | 
					 | 
				
			||||||
    logging.info("ctrl + c:")
 | 
					 | 
				
			||||||
    epd1in54.epdconfig.module_exit()
 | 
					 | 
				
			||||||
    exit()
 | 
					 | 
				
			||||||
@ -1,96 +0,0 @@
 | 
				
			|||||||
#!/usr/bin/python
 | 
					 | 
				
			||||||
# -*- coding:utf-8 -*-
 | 
					 | 
				
			||||||
import sys
 | 
					 | 
				
			||||||
import os
 | 
					 | 
				
			||||||
picdir = os.path.join(os.path.dirname(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 epd1in54_V2
 | 
					 | 
				
			||||||
import time
 | 
					 | 
				
			||||||
from PIL import Image,ImageDraw,ImageFont
 | 
					 | 
				
			||||||
import traceback
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
logging.basicConfig(level=logging.DEBUG)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
try:
 | 
					 | 
				
			||||||
    logging.info("epd1in54_V2 Demo")
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    epd = epd1in54_V2.EPD()
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    logging.info("init and Clear")
 | 
					 | 
				
			||||||
    epd.init(0)
 | 
					 | 
				
			||||||
    epd.Clear(0xFF)
 | 
					 | 
				
			||||||
    time.sleep(1)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    # Drawing on the image
 | 
					 | 
				
			||||||
    logging.info("1.Drawing on the image...")
 | 
					 | 
				
			||||||
    image = Image.new('1', (epd.width, epd.height), 255)  # 255: clear the frame
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    draw = ImageDraw.Draw(image)
 | 
					 | 
				
			||||||
    font = ImageFont.truetype(os.path.join(picdir, 'Font.ttc'), 24)
 | 
					 | 
				
			||||||
    draw.rectangle((0, 10, 200, 34), fill = 0)
 | 
					 | 
				
			||||||
    draw.text((8, 12), 'hello world', font = font, fill = 255)
 | 
					 | 
				
			||||||
    draw.text((8, 36), u'微雪电子', font = font, fill = 0)
 | 
					 | 
				
			||||||
    draw.line((16, 60, 56, 60), fill = 0)
 | 
					 | 
				
			||||||
    draw.line((56, 60, 56, 110), fill = 0)
 | 
					 | 
				
			||||||
    draw.line((16, 110, 56, 110), fill = 0)
 | 
					 | 
				
			||||||
    draw.line((16, 110, 16, 60), fill = 0)
 | 
					 | 
				
			||||||
    draw.line((16, 60, 56, 110), fill = 0)
 | 
					 | 
				
			||||||
    draw.line((56, 60, 16, 110), fill = 0)
 | 
					 | 
				
			||||||
    draw.arc((90, 60, 150, 120), 0, 360, fill = 0)
 | 
					 | 
				
			||||||
    draw.rectangle((16, 130, 56, 180), fill = 0)
 | 
					 | 
				
			||||||
    draw.chord((90, 130, 150, 190), 0, 360, fill = 0)
 | 
					 | 
				
			||||||
    epd.display(epd.getbuffer(image.rotate(90)))
 | 
					 | 
				
			||||||
    time.sleep(2)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    # read bmp file 
 | 
					 | 
				
			||||||
    logging.info("2.read bmp file...")
 | 
					 | 
				
			||||||
    image = Image.open(os.path.join(picdir, '1in54.bmp'))
 | 
					 | 
				
			||||||
    epd.display(epd.getbuffer(image))
 | 
					 | 
				
			||||||
    time.sleep(2)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    # read bmp file on window
 | 
					 | 
				
			||||||
    logging.info("3.read bmp file on window...")
 | 
					 | 
				
			||||||
    epd.Clear(0xFF)
 | 
					 | 
				
			||||||
    image1 = Image.new('1', (epd.width, epd.height), 255)  # 255: clear the frame
 | 
					 | 
				
			||||||
    bmp = Image.open(os.path.join(picdir, '100x100.bmp'))
 | 
					 | 
				
			||||||
    image1.paste(bmp, (50,50))    
 | 
					 | 
				
			||||||
    epd.display(epd.getbuffer(image1))
 | 
					 | 
				
			||||||
    time.sleep(2)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    # partial update
 | 
					 | 
				
			||||||
    logging.info("4.show time...")
 | 
					 | 
				
			||||||
    time_image = image1
 | 
					 | 
				
			||||||
    # Image.new('1', (epd.width, epd.height), 255)
 | 
					 | 
				
			||||||
    epd.displayPartBaseImage(epd.getbuffer(time_image))
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    epd.init(1) # into partial refresh mode
 | 
					 | 
				
			||||||
    time_draw = ImageDraw.Draw(time_image)
 | 
					 | 
				
			||||||
    num = 0
 | 
					 | 
				
			||||||
    while (True):
 | 
					 | 
				
			||||||
        time_draw.rectangle((10, 10, 120, 50), fill = 255)
 | 
					 | 
				
			||||||
        time_draw.text((10, 10), time.strftime('%H:%M:%S'), font = font, fill = 0)
 | 
					 | 
				
			||||||
        newimage = time_image.crop([10, 10, 120, 50])
 | 
					 | 
				
			||||||
        time_image.paste(newimage, (10,10))  
 | 
					 | 
				
			||||||
        epd.displayPart(epd.getbuffer(time_image))
 | 
					 | 
				
			||||||
        num = num + 1
 | 
					 | 
				
			||||||
        if(num == 20):
 | 
					 | 
				
			||||||
            break
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    logging.info("Clear...")
 | 
					 | 
				
			||||||
    epd.init(0)
 | 
					 | 
				
			||||||
    epd.Clear(0xFF)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    logging.info("Goto Sleep...")
 | 
					 | 
				
			||||||
    epd.sleep()
 | 
					 | 
				
			||||||
        
 | 
					 | 
				
			||||||
except IOError as e:
 | 
					 | 
				
			||||||
    logging.info(e)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
except KeyboardInterrupt:    
 | 
					 | 
				
			||||||
    logging.info("ctrl + c:")
 | 
					 | 
				
			||||||
    epd1in54_V2.epdconfig.module_exit()
 | 
					 | 
				
			||||||
    exit()
 | 
					 | 
				
			||||||
@ -1,93 +0,0 @@
 | 
				
			|||||||
#!/usr/bin/python
 | 
					 | 
				
			||||||
# -*- coding:utf-8 -*-
 | 
					 | 
				
			||||||
import sys
 | 
					 | 
				
			||||||
import os
 | 
					 | 
				
			||||||
picdir = os.path.join(os.path.dirname(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 epd1in54
 | 
					 | 
				
			||||||
import time
 | 
					 | 
				
			||||||
from PIL import Image,ImageDraw,ImageFont
 | 
					 | 
				
			||||||
import traceback
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
logging.basicConfig(level=logging.DEBUG)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
try:
 | 
					 | 
				
			||||||
    logging.info("epd1in54 Demo")
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    epd = epd1in54.EPD()
 | 
					 | 
				
			||||||
    logging.info("init and Clear")
 | 
					 | 
				
			||||||
    epd.init(epd.lut_full_update)
 | 
					 | 
				
			||||||
    epd.Clear(0xFF)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    # Drawing on the image
 | 
					 | 
				
			||||||
    logging.info("1.Drawing on the image...")
 | 
					 | 
				
			||||||
    image = Image.new('1', (epd.width, epd.height), 255)  # 255: clear the frame
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    draw = ImageDraw.Draw(image)
 | 
					 | 
				
			||||||
    font = ImageFont.truetype(os.path.join(picdir, 'Font.ttc'), 24)
 | 
					 | 
				
			||||||
    draw.rectangle((0, 10, 200, 34), fill = 0)
 | 
					 | 
				
			||||||
    draw.text((8, 12), 'hello world', font = font, fill = 255)
 | 
					 | 
				
			||||||
    draw.text((8, 36), u'微雪电子', font = font, fill = 0)
 | 
					 | 
				
			||||||
    draw.line((16, 60, 56, 60), fill = 0)
 | 
					 | 
				
			||||||
    draw.line((56, 60, 56, 110), fill = 0)
 | 
					 | 
				
			||||||
    draw.line((16, 110, 56, 110), fill = 0)
 | 
					 | 
				
			||||||
    draw.line((16, 110, 16, 60), fill = 0)
 | 
					 | 
				
			||||||
    draw.line((16, 60, 56, 110), fill = 0)
 | 
					 | 
				
			||||||
    draw.line((56, 60, 16, 110), fill = 0)
 | 
					 | 
				
			||||||
    draw.arc((90, 60, 150, 120), 0, 360, fill = 0)
 | 
					 | 
				
			||||||
    draw.rectangle((16, 130, 56, 180), fill = 0)
 | 
					 | 
				
			||||||
    draw.chord((90, 130, 150, 190), 0, 360, fill = 0)
 | 
					 | 
				
			||||||
    epd.display(epd.getbuffer(image.rotate(90)))
 | 
					 | 
				
			||||||
    time.sleep(2)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    # read bmp file 
 | 
					 | 
				
			||||||
    logging.info("2.read bmp file...")
 | 
					 | 
				
			||||||
    image = Image.open(os.path.join(picdir, '1in54.bmp'))
 | 
					 | 
				
			||||||
    epd.display(epd.getbuffer(image))
 | 
					 | 
				
			||||||
    time.sleep(2)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    # read bmp file on window
 | 
					 | 
				
			||||||
    logging.info("3.read bmp file on window...")
 | 
					 | 
				
			||||||
    epd.Clear(0xFF)
 | 
					 | 
				
			||||||
    image1 = Image.new('1', (epd.width, epd.height), 255)  # 255: clear the frame
 | 
					 | 
				
			||||||
    bmp = Image.open(os.path.join(picdir, '100x100.bmp'))
 | 
					 | 
				
			||||||
    image1.paste(bmp, (50,50))    
 | 
					 | 
				
			||||||
    epd.display(epd.getbuffer(image1))
 | 
					 | 
				
			||||||
    time.sleep(2)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    # # partial update
 | 
					 | 
				
			||||||
    logging.info("4.show time...")
 | 
					 | 
				
			||||||
    epd.init(epd.lut_partial_update)    
 | 
					 | 
				
			||||||
    epd.Clear(0xFF)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    time_image = Image.new('1', (epd.width, epd.height), 255)
 | 
					 | 
				
			||||||
    time_draw = ImageDraw.Draw(time_image)
 | 
					 | 
				
			||||||
    num = 0
 | 
					 | 
				
			||||||
    while (True):
 | 
					 | 
				
			||||||
        time_draw.rectangle((10, 10, 120, 50), fill = 255)
 | 
					 | 
				
			||||||
        time_draw.text((10, 10), time.strftime('%H:%M:%S'), font = font, fill = 0)
 | 
					 | 
				
			||||||
        newimage = time_image.crop([10, 10, 120, 50])
 | 
					 | 
				
			||||||
        time_image.paste(newimage, (10,10))  
 | 
					 | 
				
			||||||
        epd.display(epd.getbuffer(time_image))
 | 
					 | 
				
			||||||
        num = num + 1
 | 
					 | 
				
			||||||
        if(num == 10):
 | 
					 | 
				
			||||||
            break
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    logging.info("Clear...")
 | 
					 | 
				
			||||||
    epd.init(epd.lut_full_update)
 | 
					 | 
				
			||||||
    epd.Clear(0xFF)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    logging.info("Goto Sleep...")
 | 
					 | 
				
			||||||
    epd.sleep()
 | 
					 | 
				
			||||||
        
 | 
					 | 
				
			||||||
except IOError as e:
 | 
					 | 
				
			||||||
    logging.info(e)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
except KeyboardInterrupt:    
 | 
					 | 
				
			||||||
    logging.info("ctrl + c:")
 | 
					 | 
				
			||||||
    epd1in54.epdconfig.module_exit()
 | 
					 | 
				
			||||||
    exit()
 | 
					 | 
				
			||||||
@ -1,80 +0,0 @@
 | 
				
			|||||||
#!/usr/bin/python
 | 
					 | 
				
			||||||
# -*- coding:utf-8 -*-
 | 
					 | 
				
			||||||
import sys
 | 
					 | 
				
			||||||
import os
 | 
					 | 
				
			||||||
picdir = os.path.join(os.path.dirname(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 epd1in54b_V2
 | 
					 | 
				
			||||||
import time
 | 
					 | 
				
			||||||
from PIL import Image,ImageDraw,ImageFont
 | 
					 | 
				
			||||||
import traceback
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
logging.basicConfig(level=logging.DEBUG)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
try:
 | 
					 | 
				
			||||||
    logging.info("epd1in54b V2 Demo")
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    epd = epd1in54b_V2.EPD()
 | 
					 | 
				
			||||||
    logging.info("init and Clear")
 | 
					 | 
				
			||||||
    epd.init()
 | 
					 | 
				
			||||||
    epd.Clear()
 | 
					 | 
				
			||||||
    time.sleep(1)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    # Drawing on the image
 | 
					 | 
				
			||||||
    logging.info("1.Drawing on the image...")
 | 
					 | 
				
			||||||
    blackimage = Image.new('1', (epd.width, epd.height), 255)  # 255: clear the frame
 | 
					 | 
				
			||||||
    redimage = Image.new('1', (epd.width, epd.height), 255)  # 255: clear the frame
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    font = ImageFont.truetype(os.path.join(picdir, 'Font.ttc'), 24)
 | 
					 | 
				
			||||||
    font18 = ImageFont.truetype(os.path.join(picdir, 'Font.ttc'), 18)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    drawblack = ImageDraw.Draw(blackimage)
 | 
					 | 
				
			||||||
    drawred = ImageDraw.Draw(redimage)
 | 
					 | 
				
			||||||
    drawblack.rectangle((0, 10, 200, 34), fill = 0)
 | 
					 | 
				
			||||||
    drawblack.text((8, 12), 'hello world', font = font, fill = 255)
 | 
					 | 
				
			||||||
    drawblack.text((8, 36), u'微雪电子', font = font18, fill = 0)
 | 
					 | 
				
			||||||
    drawblack.line((16, 60, 56, 60), fill = 0)
 | 
					 | 
				
			||||||
    drawblack.line((56, 60, 56, 110), fill = 0)
 | 
					 | 
				
			||||||
    drawblack.line((16, 110, 56, 110), fill = 0)
 | 
					 | 
				
			||||||
    drawred.line((16, 110, 16, 60), fill = 0)
 | 
					 | 
				
			||||||
    drawred.line((16, 60, 56, 110), fill = 0)
 | 
					 | 
				
			||||||
    drawred.line((56, 60, 16, 110), fill = 0)
 | 
					 | 
				
			||||||
    drawred.arc((90, 60, 150, 120), 0, 360, fill = 0)
 | 
					 | 
				
			||||||
    drawred.rectangle((16, 130, 56, 180), fill = 0)
 | 
					 | 
				
			||||||
    drawred.chord((90, 130, 150, 190), 0, 360, fill = 0)
 | 
					 | 
				
			||||||
    epd.display(epd.getbuffer(blackimage),epd.getbuffer(redimage))
 | 
					 | 
				
			||||||
    time.sleep(1)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    # read bmp file 
 | 
					 | 
				
			||||||
    logging.info("2.read bmp file...")
 | 
					 | 
				
			||||||
    blackimage = Image.open(os.path.join(picdir, '1in54b-b.bmp'))
 | 
					 | 
				
			||||||
    redimage = Image.open(os.path.join(picdir, '1in54b-r.bmp'))    
 | 
					 | 
				
			||||||
    epd.display(epd.getbuffer(blackimage),epd.getbuffer(redimage))
 | 
					 | 
				
			||||||
    time.sleep(1)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    # read bmp file on window
 | 
					 | 
				
			||||||
    logging.info("3.read bmp file on window...")
 | 
					 | 
				
			||||||
    blackimage1 = Image.new('1', (epd.width, epd.height), 255)  # 255: clear the frame
 | 
					 | 
				
			||||||
    redimage2 = Image.new('1', (epd.width, epd.height), 255)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    newimage = Image.open(os.path.join(picdir, '100x100.bmp'))
 | 
					 | 
				
			||||||
    blackimage1.paste(newimage, (50,50))    
 | 
					 | 
				
			||||||
    epd.display(epd.getbuffer(blackimage1), epd.getbuffer(redimage2))
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    logging.info("Clear...")
 | 
					 | 
				
			||||||
    epd.Clear()
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    logging.info("Goto Sleep...")
 | 
					 | 
				
			||||||
    epd.sleep()
 | 
					 | 
				
			||||||
        
 | 
					 | 
				
			||||||
except IOError as e:
 | 
					 | 
				
			||||||
    logging.info(e)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
except KeyboardInterrupt:    
 | 
					 | 
				
			||||||
    logging.info("ctrl + c:")
 | 
					 | 
				
			||||||
    epd1in54b_V2.epdconfig.module_exit()
 | 
					 | 
				
			||||||
    exit()
 | 
					 | 
				
			||||||
@ -1,81 +0,0 @@
 | 
				
			|||||||
#!/usr/bin/python
 | 
					 | 
				
			||||||
# -*- coding:utf-8 -*-
 | 
					 | 
				
			||||||
import sys
 | 
					 | 
				
			||||||
import os
 | 
					 | 
				
			||||||
picdir = os.path.join(os.path.dirname(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 epd1in54b
 | 
					 | 
				
			||||||
import time
 | 
					 | 
				
			||||||
from PIL import Image,ImageDraw,ImageFont
 | 
					 | 
				
			||||||
import traceback
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
logging.basicConfig(level=logging.DEBUG)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
try:
 | 
					 | 
				
			||||||
    logging.info("epd1in54b Demo")
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    epd = epd1in54b.EPD()
 | 
					 | 
				
			||||||
    logging.info("init and Clear")
 | 
					 | 
				
			||||||
    epd.init()
 | 
					 | 
				
			||||||
    epd.Clear()
 | 
					 | 
				
			||||||
    time.sleep(1)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    # Drawing on the image
 | 
					 | 
				
			||||||
    logging.info("1.Drawing on the image...")
 | 
					 | 
				
			||||||
    blackimage = Image.new('1', (epd.width, epd.height), 255)  # 255: clear the frame
 | 
					 | 
				
			||||||
    redimage = Image.new('1', (epd.width, epd.height), 255)  # 255: clear the frame
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    font = ImageFont.truetype(os.path.join(picdir, 'Font.ttc'), 24)
 | 
					 | 
				
			||||||
    font18 = ImageFont.truetype(os.path.join(picdir, 'Font.ttc'), 18)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    drawblack = ImageDraw.Draw(blackimage)
 | 
					 | 
				
			||||||
    drawred = ImageDraw.Draw(redimage)
 | 
					 | 
				
			||||||
    drawblack.rectangle((0, 10, 200, 34), fill = 0)
 | 
					 | 
				
			||||||
    drawblack.text((8, 12), 'hello world', font = font, fill = 255)
 | 
					 | 
				
			||||||
    drawblack.text((8, 36), u'微雪电子', font = font18, fill = 0)
 | 
					 | 
				
			||||||
    drawblack.line((16, 60, 56, 60), fill = 0)
 | 
					 | 
				
			||||||
    drawblack.line((56, 60, 56, 110), fill = 0)
 | 
					 | 
				
			||||||
    drawblack.line((16, 110, 56, 110), fill = 0)
 | 
					 | 
				
			||||||
    drawred.line((16, 110, 16, 60), fill = 0)
 | 
					 | 
				
			||||||
    drawred.line((16, 60, 56, 110), fill = 0)
 | 
					 | 
				
			||||||
    drawred.line((56, 60, 16, 110), fill = 0)
 | 
					 | 
				
			||||||
    drawred.arc((90, 60, 150, 120), 0, 360, fill = 0)
 | 
					 | 
				
			||||||
    drawred.rectangle((16, 130, 56, 180), fill = 0)
 | 
					 | 
				
			||||||
    drawred.chord((90, 130, 150, 190), 0, 360, fill = 0)
 | 
					 | 
				
			||||||
    epd.display(epd.getbuffer(blackimage),epd.getbuffer(redimage))
 | 
					 | 
				
			||||||
    time.sleep(1)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    # read bmp file 
 | 
					 | 
				
			||||||
    logging.info("2.read bmp file...")
 | 
					 | 
				
			||||||
    blackimage = Image.open(os.path.join(picdir, '1in54b-b.bmp'))
 | 
					 | 
				
			||||||
    redimage = Image.open(os.path.join(picdir, '1in54b-r.bmp'))    
 | 
					 | 
				
			||||||
    epd.display(epd.getbuffer(blackimage),epd.getbuffer(redimage))
 | 
					 | 
				
			||||||
    time.sleep(1)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    # read bmp file on window
 | 
					 | 
				
			||||||
    logging.info("3.read bmp file on window...")
 | 
					 | 
				
			||||||
    blackimage1 = Image.new('1', (epd.width, epd.height), 255)  # 255: clear the frame
 | 
					 | 
				
			||||||
    redimage2 = Image.new('1', (epd.width, epd.height), 255)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    newimage = Image.open(os.path.join(picdir, '100x100.bmp'))
 | 
					 | 
				
			||||||
    blackimage1.paste(newimage, (50,50))    
 | 
					 | 
				
			||||||
    epd.display(epd.getbuffer(blackimage1), epd.getbuffer(redimage2))
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    logging.info("Clear...")
 | 
					 | 
				
			||||||
    epd.init()
 | 
					 | 
				
			||||||
    epd.Clear()
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    logging.info("Goto Sleep...")
 | 
					 | 
				
			||||||
    epd.sleep()
 | 
					 | 
				
			||||||
        
 | 
					 | 
				
			||||||
except IOError as e:
 | 
					 | 
				
			||||||
    logging.info(e)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
except KeyboardInterrupt:    
 | 
					 | 
				
			||||||
    logging.info("ctrl + c:")
 | 
					 | 
				
			||||||
    epd1in54b.epdconfig.module_exit()
 | 
					 | 
				
			||||||
    exit()
 | 
					 | 
				
			||||||
@ -1,78 +0,0 @@
 | 
				
			|||||||
#!/usr/bin/python
 | 
					 | 
				
			||||||
# -*- coding:utf-8 -*-
 | 
					 | 
				
			||||||
import sys
 | 
					 | 
				
			||||||
import os
 | 
					 | 
				
			||||||
picdir = os.path.join(os.path.dirname(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 epd1in54c
 | 
					 | 
				
			||||||
import time
 | 
					 | 
				
			||||||
from PIL import Image,ImageDraw,ImageFont
 | 
					 | 
				
			||||||
import traceback
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
logging.basicConfig(level=logging.DEBUG)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
try:
 | 
					 | 
				
			||||||
    logging.info("epd1in54c Demo")
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    epd = epd1in54c.EPD()
 | 
					 | 
				
			||||||
    logging.info("init and Clear")
 | 
					 | 
				
			||||||
    epd.init()
 | 
					 | 
				
			||||||
    epd.Clear()
 | 
					 | 
				
			||||||
    time.sleep(1)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    # Drawing on the image
 | 
					 | 
				
			||||||
    logging.info("1.Drawing on the image...")
 | 
					 | 
				
			||||||
    blackimage = Image.new('1', (epd.width, epd.height), 255)  # 255: clear the frame
 | 
					 | 
				
			||||||
    yellowimage = Image.new('1', (epd.width, epd.height), 255)  # 255: clear the frame
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    font = ImageFont.truetype(os.path.join(picdir, 'Font.ttc'), 24)
 | 
					 | 
				
			||||||
    font18 = ImageFont.truetype(os.path.join(picdir, 'Font.ttc'), 18)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    drawblack = ImageDraw.Draw(blackimage)
 | 
					 | 
				
			||||||
    drawyellow = ImageDraw.Draw(yellowimage)
 | 
					 | 
				
			||||||
    drawblack.rectangle((0, 10, 200, 34), fill = 0)
 | 
					 | 
				
			||||||
    drawblack.text((8, 12), 'hello world', font = font, fill = 255)
 | 
					 | 
				
			||||||
    drawblack.text((8, 36), u'微雪电子', font = font, fill = 0)
 | 
					 | 
				
			||||||
    drawblack.line((10, 100, 70, 100), fill = 0)
 | 
					 | 
				
			||||||
    drawblack.line((40, 70, 40, 130), fill = 0)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    drawyellow.rectangle((10, 70, 70, 130), outline = 0)    
 | 
					 | 
				
			||||||
    drawyellow.arc((80, 70, 140, 130), 0, 360, fill = 0)
 | 
					 | 
				
			||||||
    drawyellow.chord((90, 80, 130, 120), 0, 360, fill = 0)
 | 
					 | 
				
			||||||
    epd.display(epd.getbuffer(blackimage),epd.getbuffer(yellowimage))
 | 
					 | 
				
			||||||
    time.sleep(1)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    # read bmp file 
 | 
					 | 
				
			||||||
    logging.info("2.read bmp file...")
 | 
					 | 
				
			||||||
    blackimage = Image.open(os.path.join(picdir, '1in54c-b.bmp'))
 | 
					 | 
				
			||||||
    yellowimage = Image.open(os.path.join(picdir, '1in54c-y.bmp'))    
 | 
					 | 
				
			||||||
    epd.display(epd.getbuffer(blackimage),epd.getbuffer(yellowimage))
 | 
					 | 
				
			||||||
    time.sleep(1)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    # read bmp file on window
 | 
					 | 
				
			||||||
    logging.info("3.read bmp file on window...")
 | 
					 | 
				
			||||||
    blackimage1 = Image.new('1', (epd.width, epd.height), 255)  # 255: clear the frame
 | 
					 | 
				
			||||||
    yellowimage2 = Image.new('1', (epd.width, epd.height), 255)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    newimage = Image.open(os.path.join(picdir, '100x100.bmp'))
 | 
					 | 
				
			||||||
    blackimage1.paste(newimage, (50,50))    
 | 
					 | 
				
			||||||
    epd.display(epd.getbuffer(blackimage1), epd.getbuffer(yellowimage2))
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    logging.info("Clear...")
 | 
					 | 
				
			||||||
    epd.init()
 | 
					 | 
				
			||||||
    epd.Clear()
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    logging.info("Goto Sleep...")
 | 
					 | 
				
			||||||
    epd.sleep()
 | 
					 | 
				
			||||||
        
 | 
					 | 
				
			||||||
except IOError as e:
 | 
					 | 
				
			||||||
    logging.info(e)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
except KeyboardInterrupt:    
 | 
					 | 
				
			||||||
    logging.info("ctrl + c:")
 | 
					 | 
				
			||||||
    epd1in54c.epdconfig.module_exit()
 | 
					 | 
				
			||||||
    exit()
 | 
					 | 
				
			||||||
@ -1,70 +0,0 @@
 | 
				
			|||||||
#!/usr/bin/python
 | 
					 | 
				
			||||||
# -*- coding:utf-8 -*-
 | 
					 | 
				
			||||||
import sys
 | 
					 | 
				
			||||||
import os
 | 
					 | 
				
			||||||
picdir = os.path.join(os.path.dirname(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 epd1in64g
 | 
					 | 
				
			||||||
import time
 | 
					 | 
				
			||||||
from PIL import Image,ImageDraw,ImageFont
 | 
					 | 
				
			||||||
import traceback
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
logging.basicConfig(level=logging.DEBUG)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
try:
 | 
					 | 
				
			||||||
    logging.info("epd1in64g Demo")
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    epd = epd1in64g.EPD()   
 | 
					 | 
				
			||||||
    logging.info("init and Clear")
 | 
					 | 
				
			||||||
    epd.init()
 | 
					 | 
				
			||||||
    epd.Clear()
 | 
					 | 
				
			||||||
    font24 = ImageFont.truetype(os.path.join(picdir, 'Font.ttc'), 24)
 | 
					 | 
				
			||||||
    font18 = ImageFont.truetype(os.path.join(picdir, 'Font.ttc'), 18)
 | 
					 | 
				
			||||||
    font40 = ImageFont.truetype(os.path.join(picdir, 'Font.ttc'), 40)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    # # The Sunrise X3 PI is a bit problematic to use
 | 
					 | 
				
			||||||
    # # Drawing on the image
 | 
					 | 
				
			||||||
    # logging.info("1.Drawing on the image...")
 | 
					 | 
				
			||||||
    # Himage = Image.new('RGB', (epd.width, epd.height), epd.WHITE)  
 | 
					 | 
				
			||||||
    # draw = ImageDraw.Draw(Himage)
 | 
					 | 
				
			||||||
    # draw.text((5, 0), 'hello world', font = font18, fill = epd.RED)
 | 
					 | 
				
			||||||
    # draw.text((5, 20), '1.64inch e-Paper', font = font18, fill = epd.YELLOW)
 | 
					 | 
				
			||||||
    # draw.text((5, 40), u'微雪电子', font = font40, fill = epd.BLACK)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    # draw.line((5, 90, 45, 160), fill = epd.RED)
 | 
					 | 
				
			||||||
    # draw.line((45, 90, 5, 160), fill = epd.YELLOW)
 | 
					 | 
				
			||||||
    # draw.rectangle((5, 90, 45, 160), outline = epd.BLACK)
 | 
					 | 
				
			||||||
    # draw.rectangle((55, 90, 95, 160), fill = epd.BLACK)
 | 
					 | 
				
			||||||
    # draw.arc((115, 90, 150, 125), 0, 360, fill = epd.BLACK)
 | 
					 | 
				
			||||||
    # draw.chord((115, 130, 150, 165), 0, 360, fill = epd.BLACK)
 | 
					 | 
				
			||||||
    # epd.display(epd.getbuffer(Himage))
 | 
					 | 
				
			||||||
    # time.sleep(3)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    # # read bmp file 
 | 
					 | 
				
			||||||
    # logging.info("2.read bmp file")
 | 
					 | 
				
			||||||
    # Himage = Image.open(os.path.join(picdir, '1.64inch-1.bmp'))
 | 
					 | 
				
			||||||
    # epd.display(epd.getbuffer(Himage))
 | 
					 | 
				
			||||||
    # time.sleep(3)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    logging.info("3.read bmp file")
 | 
					 | 
				
			||||||
    Himage = Image.open(os.path.join(picdir, '1.64inch-2.bmp'))
 | 
					 | 
				
			||||||
    epd.display(epd.getbuffer(Himage))
 | 
					 | 
				
			||||||
    time.sleep(3)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    logging.info("Clear...")
 | 
					 | 
				
			||||||
    epd.Clear()
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    logging.info("Goto Sleep...")
 | 
					 | 
				
			||||||
    epd.sleep()
 | 
					 | 
				
			||||||
        
 | 
					 | 
				
			||||||
except IOError as e:
 | 
					 | 
				
			||||||
    logging.info(e)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
except KeyboardInterrupt:    
 | 
					 | 
				
			||||||
    logging.info("ctrl + c:")
 | 
					 | 
				
			||||||
    epd1in64g.epdconfig.module_exit()
 | 
					 | 
				
			||||||
    exit()
 | 
					 | 
				
			||||||
@ -1,113 +0,0 @@
 | 
				
			|||||||
#!/usr/bin/python
 | 
					 | 
				
			||||||
# -*- coding:utf-8 -*-
 | 
					 | 
				
			||||||
import sys
 | 
					 | 
				
			||||||
import os
 | 
					 | 
				
			||||||
picdir = os.path.join(os.path.dirname(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)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    # Drawing on the Vertical image
 | 
					 | 
				
			||||||
    logging.info("2.Drawing on the Vertical image...")
 | 
					 | 
				
			||||||
    Limage = Image.new('1', (epd.width, epd.height), 255)  # 255: clear the frame
 | 
					 | 
				
			||||||
    draw = ImageDraw.Draw(Limage)
 | 
					 | 
				
			||||||
    draw.text((2, 0), 'hello world', font = font18, fill = 0)
 | 
					 | 
				
			||||||
    draw.text((20, 50), u'微雪电子', font = font18, fill = 0)
 | 
					 | 
				
			||||||
    draw.line((10, 90, 60, 140), fill = 0)
 | 
					 | 
				
			||||||
    draw.line((60, 90, 10, 140), fill = 0)
 | 
					 | 
				
			||||||
    draw.rectangle((10, 90, 60, 140), outline = 0)
 | 
					 | 
				
			||||||
    draw.line((95, 90, 95, 140), fill = 0)
 | 
					 | 
				
			||||||
    draw.line((70, 115, 120, 115), fill = 0)
 | 
					 | 
				
			||||||
    draw.arc((70, 90, 120, 140), 0, 360, fill = 0)
 | 
					 | 
				
			||||||
    draw.rectangle((10, 150, 60, 200), fill = 0)
 | 
					 | 
				
			||||||
    draw.chord((70, 150, 120, 200), 0, 360, fill = 0)
 | 
					 | 
				
			||||||
    epd.display(epd.getbuffer(Limage))
 | 
					 | 
				
			||||||
    time.sleep(2)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    logging.info("3.read bmp file")
 | 
					 | 
				
			||||||
    Himage = Image.open(os.path.join(picdir, '2in7.bmp'))
 | 
					 | 
				
			||||||
    epd.display(epd.getbuffer(Himage))
 | 
					 | 
				
			||||||
    time.sleep(2)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    logging.info("4.read bmp file on window")
 | 
					 | 
				
			||||||
    Himage2 = Image.new('1', (epd.height, epd.width), 255)  # 255: clear the frame
 | 
					 | 
				
			||||||
    bmp = Image.open(os.path.join(picdir, '100x100.bmp'))
 | 
					 | 
				
			||||||
    Himage2.paste(bmp, (50,10))
 | 
					 | 
				
			||||||
    epd.display(epd.getbuffer(Himage2))
 | 
					 | 
				
			||||||
    time.sleep(2)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    '''4Gray display'''
 | 
					 | 
				
			||||||
    logging.info("4Gray display--------------------------------")
 | 
					 | 
				
			||||||
    epd.Init_4Gray()
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    Limage = Image.new('L', (epd.width, epd.height), 0)  # 255: clear the frame
 | 
					 | 
				
			||||||
    draw = ImageDraw.Draw(Limage)
 | 
					 | 
				
			||||||
    draw.text((20, 0), u'微雪电子', font = font35, fill = epd.GRAY1)
 | 
					 | 
				
			||||||
    draw.text((20, 35), u'微雪电子', font = font35, fill = epd.GRAY2)
 | 
					 | 
				
			||||||
    draw.text((20, 70), u'微雪电子', font = font35, fill = epd.GRAY3)
 | 
					 | 
				
			||||||
    draw.text((40, 110), 'hello world', font = font18, fill = epd.GRAY1)
 | 
					 | 
				
			||||||
    draw.line((10, 140, 60, 190), fill = epd.GRAY1)
 | 
					 | 
				
			||||||
    draw.line((60, 140, 10, 190), fill = epd.GRAY1)
 | 
					 | 
				
			||||||
    draw.rectangle((10, 140, 60, 190), outline = epd.GRAY1)
 | 
					 | 
				
			||||||
    draw.line((95, 140, 95, 190), fill = epd.GRAY1)
 | 
					 | 
				
			||||||
    draw.line((70, 165, 120, 165), fill = epd.GRAY1)
 | 
					 | 
				
			||||||
    draw.arc((70, 140, 120, 190), 0, 360, fill = epd.GRAY1)
 | 
					 | 
				
			||||||
    draw.rectangle((10, 200, 60, 250), fill = epd.GRAY1)
 | 
					 | 
				
			||||||
    draw.chord((70, 200, 120, 250), 0, 360, fill = epd.GRAY1)
 | 
					 | 
				
			||||||
    epd.display_4Gray(epd.getbuffer_4Gray(Limage))
 | 
					 | 
				
			||||||
    time.sleep(2)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    #display 4Gra bmp
 | 
					 | 
				
			||||||
    Himage = Image.open(os.path.join(picdir, '2in7_Scale.bmp'))
 | 
					 | 
				
			||||||
    epd.display_4Gray(epd.getbuffer_4Gray(Himage))
 | 
					 | 
				
			||||||
    time.sleep(2)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    logging.info("Clear...")
 | 
					 | 
				
			||||||
    epd.Clear(0xFF)
 | 
					 | 
				
			||||||
    logging.info("Goto Sleep...")
 | 
					 | 
				
			||||||
    epd.sleep()
 | 
					 | 
				
			||||||
        
 | 
					 | 
				
			||||||
except IOError as e:
 | 
					 | 
				
			||||||
    logging.info(e)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
except KeyboardInterrupt:    
 | 
					 | 
				
			||||||
    logging.info("ctrl + c:")
 | 
					 | 
				
			||||||
    epd2in7.epdconfig.module_exit()
 | 
					 | 
				
			||||||
    exit()
 | 
					 | 
				
			||||||
@ -1,103 +0,0 @@
 | 
				
			|||||||
#!/usr/bin/python
 | 
					 | 
				
			||||||
# -*- coding:utf-8 -*-
 | 
					 | 
				
			||||||
import sys
 | 
					 | 
				
			||||||
import os
 | 
					 | 
				
			||||||
picdir = os.path.join(os.path.dirname(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 epd2in7b_V2
 | 
					 | 
				
			||||||
import time
 | 
					 | 
				
			||||||
from PIL import Image,ImageDraw,ImageFont
 | 
					 | 
				
			||||||
import traceback
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
logging.basicConfig(level=logging.DEBUG)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
try:
 | 
					 | 
				
			||||||
    logging.info("epd2in7b_V2 Demo")
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    epd = epd2in7b_V2.EPD()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    logging.info("init and Clear")
 | 
					 | 
				
			||||||
    epd.init()
 | 
					 | 
				
			||||||
    epd.Clear()
 | 
					 | 
				
			||||||
    time.sleep(1)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    # Drawing on the image
 | 
					 | 
				
			||||||
    logging.info("Drawing")
 | 
					 | 
				
			||||||
    blackimage = Image.new('1', (epd.width, epd.height), 255)  # 255: clear the frame
 | 
					 | 
				
			||||||
    redimage = Image.new('1', (epd.width, epd.height), 255)  # 255: clear the frame
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    font24 = ImageFont.truetype(os.path.join(picdir, 'Font.ttc'), 24)
 | 
					 | 
				
			||||||
    font18 = ImageFont.truetype(os.path.join(picdir, 'Font.ttc'), 18)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    # Drawing on the Horizontal image
 | 
					 | 
				
			||||||
    logging.info("1.Drawing on the Horizontal image...")
 | 
					 | 
				
			||||||
    HBlackimage = Image.new('1', (epd.height, epd.width), 255)  # 298*126
 | 
					 | 
				
			||||||
    HRedimage = Image.new('1', (epd.height, epd.width), 255)  # 298*126    
 | 
					 | 
				
			||||||
    drawblack = ImageDraw.Draw(HBlackimage)
 | 
					 | 
				
			||||||
    drawred = ImageDraw.Draw(HRedimage)
 | 
					 | 
				
			||||||
    drawblack.text((10, 0), 'hello world', font = font24, fill = 0)
 | 
					 | 
				
			||||||
    drawblack.text((10, 20), '2.7inch e-Paper', font = font24, fill = 0)
 | 
					 | 
				
			||||||
    drawblack.text((150, 0), u'微雪电子', font = font24, fill = 0)    
 | 
					 | 
				
			||||||
    drawblack.line((20, 50, 70, 100), fill = 0)
 | 
					 | 
				
			||||||
    drawblack.line((70, 50, 20, 100), fill = 0)
 | 
					 | 
				
			||||||
    drawblack.rectangle((20, 50, 70, 100), outline = 0)    
 | 
					 | 
				
			||||||
    drawred.line((165, 50, 165, 100), fill = 0)
 | 
					 | 
				
			||||||
    drawred.line((140, 75, 190, 75), fill = 0)
 | 
					 | 
				
			||||||
    drawred.arc((140, 50, 190, 100), 0, 360, fill = 0)
 | 
					 | 
				
			||||||
    drawred.rectangle((80, 50, 130, 100), fill = 0)
 | 
					 | 
				
			||||||
    drawred.chord((200, 50, 250, 100), 0, 360, fill = 0)
 | 
					 | 
				
			||||||
    epd.display(epd.getbuffer(HBlackimage), epd.getbuffer(HRedimage))
 | 
					 | 
				
			||||||
    time.sleep(20)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    # Drawing on the Vertical image
 | 
					 | 
				
			||||||
    logging.info("2.Drawing on the Vertical image...")
 | 
					 | 
				
			||||||
    LBlackimage = Image.new('1', (epd.width, epd.height), 255)  # 126*298
 | 
					 | 
				
			||||||
    LRedimage = Image.new('1', (epd.width, epd.height), 255)  # 126*298
 | 
					 | 
				
			||||||
    drawblack = ImageDraw.Draw(LBlackimage)
 | 
					 | 
				
			||||||
    drawred = ImageDraw.Draw(LRedimage)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    drawblack.text((2, 0), 'hello world', font = font18, fill = 0)
 | 
					 | 
				
			||||||
    drawblack.text((2, 20), '2.7inch epd', font = font18, fill = 0)
 | 
					 | 
				
			||||||
    drawblack.text((20, 50), u'微雪电子', font = font18, fill = 0)
 | 
					 | 
				
			||||||
    drawblack.line((10, 90, 60, 140), fill = 0)
 | 
					 | 
				
			||||||
    drawblack.line((60, 90, 10, 140), fill = 0)
 | 
					 | 
				
			||||||
    drawblack.rectangle((10, 90, 60, 140), outline = 0)
 | 
					 | 
				
			||||||
    drawred.line((95, 90, 95, 140), fill = 0)
 | 
					 | 
				
			||||||
    drawred.line((70, 115, 120, 115), fill = 0)
 | 
					 | 
				
			||||||
    drawred.arc((70, 90, 120, 140), 0, 360, fill = 0)
 | 
					 | 
				
			||||||
    drawred.rectangle((10, 150, 60, 200), fill = 0)
 | 
					 | 
				
			||||||
    drawred.chord((70, 150, 120, 200), 0, 360, fill = 0)
 | 
					 | 
				
			||||||
    epd.display(epd.getbuffer(LBlackimage), epd.getbuffer(LRedimage))
 | 
					 | 
				
			||||||
    time.sleep(2)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    logging.info("3.read bmp file")
 | 
					 | 
				
			||||||
    HBlackimage = Image.open(os.path.join(picdir, '2in7b-b.bmp'))
 | 
					 | 
				
			||||||
    HRedimage = Image.open(os.path.join(picdir, '2in7b-r.bmp'))
 | 
					 | 
				
			||||||
    epd.display(epd.getbuffer(HBlackimage), epd.getbuffer(HRedimage))
 | 
					 | 
				
			||||||
    time.sleep(2)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    logging.info("4.read bmp file on window")
 | 
					 | 
				
			||||||
    blackimage1 = Image.new('1', (epd.height, epd.width), 255)  # 298*126
 | 
					 | 
				
			||||||
    redimage1 = Image.new('1', (epd.height, epd.width), 255)  # 298*126    
 | 
					 | 
				
			||||||
    newimage = Image.open(os.path.join(picdir, '100x100.bmp'))
 | 
					 | 
				
			||||||
    blackimage1.paste(newimage, (50,10))    
 | 
					 | 
				
			||||||
    epd.display(epd.getbuffer(blackimage1), epd.getbuffer(redimage1))
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    logging.info("Clear...")
 | 
					 | 
				
			||||||
    epd.init()
 | 
					 | 
				
			||||||
    epd.Clear()
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    logging.info("Goto Sleep...")
 | 
					 | 
				
			||||||
    epd.sleep()
 | 
					 | 
				
			||||||
        
 | 
					 | 
				
			||||||
except IOError as e:
 | 
					 | 
				
			||||||
    logging.info(e)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
except KeyboardInterrupt:    
 | 
					 | 
				
			||||||
    logging.info("ctrl + c:")
 | 
					 | 
				
			||||||
    epd2in7b_V2.epdconfig.module_exit()
 | 
					 | 
				
			||||||
    exit()
 | 
					 | 
				
			||||||
@ -1,103 +0,0 @@
 | 
				
			|||||||
#!/usr/bin/python
 | 
					 | 
				
			||||||
# -*- coding:utf-8 -*-
 | 
					 | 
				
			||||||
import sys
 | 
					 | 
				
			||||||
import os
 | 
					 | 
				
			||||||
picdir = os.path.join(os.path.dirname(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 epd2in7b
 | 
					 | 
				
			||||||
import time
 | 
					 | 
				
			||||||
from PIL import Image,ImageDraw,ImageFont
 | 
					 | 
				
			||||||
import traceback
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
logging.basicConfig(level=logging.DEBUG)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
try:
 | 
					 | 
				
			||||||
    logging.info("epd2in7b Demo")
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    epd = epd2in7b.EPD()
 | 
					 | 
				
			||||||
    logging.info("init and Clear")
 | 
					 | 
				
			||||||
    epd.init()
 | 
					 | 
				
			||||||
    epd.Clear()
 | 
					 | 
				
			||||||
    time.sleep(1)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    # Drawing on the image
 | 
					 | 
				
			||||||
    logging.info("Drawing")
 | 
					 | 
				
			||||||
    blackimage = Image.new('1', (epd.width, epd.height), 255)  # 255: clear the frame
 | 
					 | 
				
			||||||
    redimage = Image.new('1', (epd.width, epd.height), 255)  # 255: clear the frame
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    font24 = ImageFont.truetype(os.path.join(picdir, 'Font.ttc'), 24)
 | 
					 | 
				
			||||||
    font18 = ImageFont.truetype(os.path.join(picdir, 'Font.ttc'), 18)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    # Drawing on the Horizontal image
 | 
					 | 
				
			||||||
    logging.info("1.Drawing on the Horizontal image...")
 | 
					 | 
				
			||||||
    HBlackimage = Image.new('1', (epd.height, epd.width), 255)  # 298*126
 | 
					 | 
				
			||||||
    HRedimage = Image.new('1', (epd.height, epd.width), 255)  # 298*126    
 | 
					 | 
				
			||||||
    drawblack = ImageDraw.Draw(HBlackimage)
 | 
					 | 
				
			||||||
    drawred = ImageDraw.Draw(HRedimage)
 | 
					 | 
				
			||||||
    drawblack.text((10, 0), 'hello world', font = font24, fill = 0)
 | 
					 | 
				
			||||||
    drawblack.text((10, 20), '2.9inch e-Paper', font = font24, fill = 0)
 | 
					 | 
				
			||||||
    drawblack.text((150, 0), u'微雪电子', font = font24, fill = 0)    
 | 
					 | 
				
			||||||
    drawblack.line((20, 50, 70, 100), fill = 0)
 | 
					 | 
				
			||||||
    drawblack.line((70, 50, 20, 100), fill = 0)
 | 
					 | 
				
			||||||
    drawblack.rectangle((20, 50, 70, 100), outline = 0)    
 | 
					 | 
				
			||||||
    drawred.line((165, 50, 165, 100), fill = 0)
 | 
					 | 
				
			||||||
    drawred.line((140, 75, 190, 75), fill = 0)
 | 
					 | 
				
			||||||
    drawred.arc((140, 50, 190, 100), 0, 360, fill = 0)
 | 
					 | 
				
			||||||
    drawred.rectangle((80, 50, 130, 100), fill = 0)
 | 
					 | 
				
			||||||
    drawred.chord((200, 50, 250, 100), 0, 360, fill = 0)
 | 
					 | 
				
			||||||
    epd.display(epd.getbuffer(HBlackimage), epd.getbuffer(HRedimage))
 | 
					 | 
				
			||||||
    time.sleep(20)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    # Drawing on the Vertical image
 | 
					 | 
				
			||||||
    logging.info("2.Drawing on the Vertical image...")
 | 
					 | 
				
			||||||
    LBlackimage = Image.new('1', (epd.width, epd.height), 255)  # 126*298
 | 
					 | 
				
			||||||
    LRedimage = Image.new('1', (epd.width, epd.height), 255)  # 126*298
 | 
					 | 
				
			||||||
    drawblack = ImageDraw.Draw(LBlackimage)
 | 
					 | 
				
			||||||
    drawred = ImageDraw.Draw(LRedimage)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    drawblack.text((2, 0), 'hello world', font = font18, fill = 0)
 | 
					 | 
				
			||||||
    drawblack.text((2, 20), '2.9inch epd', font = font18, fill = 0)
 | 
					 | 
				
			||||||
    drawblack.text((20, 50), u'微雪电子', font = font18, fill = 0)
 | 
					 | 
				
			||||||
    drawblack.line((10, 90, 60, 140), fill = 0)
 | 
					 | 
				
			||||||
    drawblack.line((60, 90, 10, 140), fill = 0)
 | 
					 | 
				
			||||||
    drawblack.rectangle((10, 90, 60, 140), outline = 0)
 | 
					 | 
				
			||||||
    drawred.line((95, 90, 95, 140), fill = 0)
 | 
					 | 
				
			||||||
    drawred.line((70, 115, 120, 115), fill = 0)
 | 
					 | 
				
			||||||
    drawred.arc((70, 90, 120, 140), 0, 360, fill = 0)
 | 
					 | 
				
			||||||
    drawred.rectangle((10, 150, 60, 200), fill = 0)
 | 
					 | 
				
			||||||
    drawred.chord((70, 150, 120, 200), 0, 360, fill = 0)
 | 
					 | 
				
			||||||
    epd.display(epd.getbuffer(LBlackimage), epd.getbuffer(LRedimage))
 | 
					 | 
				
			||||||
    time.sleep(2)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    logging.info("3.read bmp file")
 | 
					 | 
				
			||||||
    HBlackimage = Image.open(os.path.join(picdir, '2in7b-b.bmp'))
 | 
					 | 
				
			||||||
    HRedimage = Image.open(os.path.join(picdir, '2in7b-r.bmp'))
 | 
					 | 
				
			||||||
    epd.display(epd.getbuffer(HBlackimage), epd.getbuffer(HRedimage))
 | 
					 | 
				
			||||||
    time.sleep(2)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    logging.info("4.read bmp file on window")
 | 
					 | 
				
			||||||
    blackimage1 = Image.new('1', (epd.height, epd.width), 255)  # 298*126
 | 
					 | 
				
			||||||
    redimage1 = Image.new('1', (epd.height, epd.width), 255)  # 298*126    
 | 
					 | 
				
			||||||
    newimage = Image.open(os.path.join(picdir, '100x100.bmp'))
 | 
					 | 
				
			||||||
    blackimage1.paste(newimage, (50,10))    
 | 
					 | 
				
			||||||
    epd.display(epd.getbuffer(blackimage1), epd.getbuffer(redimage1))
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    logging.info("Clear...")
 | 
					 | 
				
			||||||
    epd.init()
 | 
					 | 
				
			||||||
    epd.Clear()
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    logging.info("Goto Sleep...")
 | 
					 | 
				
			||||||
    epd.sleep()
 | 
					 | 
				
			||||||
        
 | 
					 | 
				
			||||||
except IOError as e:
 | 
					 | 
				
			||||||
    logging.info(e)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
except KeyboardInterrupt:    
 | 
					 | 
				
			||||||
    logging.info("ctrl + c:")
 | 
					 | 
				
			||||||
    epd2in7b.epdconfig.module_exit()
 | 
					 | 
				
			||||||
    exit()
 | 
					 | 
				
			||||||
@ -1,109 +0,0 @@
 | 
				
			|||||||
#!/usr/bin/python
 | 
					 | 
				
			||||||
# -*- coding:utf-8 -*-
 | 
					 | 
				
			||||||
import sys
 | 
					 | 
				
			||||||
import os
 | 
					 | 
				
			||||||
picdir = os.path.join(os.path.dirname(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 epd2in9_V2
 | 
					 | 
				
			||||||
import time
 | 
					 | 
				
			||||||
from PIL import Image,ImageDraw,ImageFont
 | 
					 | 
				
			||||||
import traceback
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
logging.basicConfig(level=logging.DEBUG)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
try:
 | 
					 | 
				
			||||||
    logging.info("epd2in9 V2 Demo") 
 | 
					 | 
				
			||||||
    epd = epd2in9_V2.EPD()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    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)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    # 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((10, 20), '2.9inch e-Paper', 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)
 | 
					 | 
				
			||||||
    # Himage = Himage.transpose(method=Image.ROTATE_180)
 | 
					 | 
				
			||||||
    epd.display(epd.getbuffer(Himage))
 | 
					 | 
				
			||||||
    time.sleep(2)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    # Drawing on the Vertical image
 | 
					 | 
				
			||||||
    logging.info("2.Drawing on the Vertical image...")
 | 
					 | 
				
			||||||
    Limage = Image.new('1', (epd.width, epd.height), 255)  # 255: clear the frame
 | 
					 | 
				
			||||||
    draw = ImageDraw.Draw(Limage)
 | 
					 | 
				
			||||||
    draw.text((2, 0), 'hello world', font = font18, fill = 0)
 | 
					 | 
				
			||||||
    draw.text((2, 20), '2.9inch epd', font = font18, fill = 0)
 | 
					 | 
				
			||||||
    draw.text((20, 50), u'微雪电子', font = font18, fill = 0)
 | 
					 | 
				
			||||||
    draw.line((10, 90, 60, 140), fill = 0)
 | 
					 | 
				
			||||||
    draw.line((60, 90, 10, 140), fill = 0)
 | 
					 | 
				
			||||||
    draw.rectangle((10, 90, 60, 140), outline = 0)
 | 
					 | 
				
			||||||
    draw.line((95, 90, 95, 140), fill = 0)
 | 
					 | 
				
			||||||
    draw.line((70, 115, 120, 115), fill = 0)
 | 
					 | 
				
			||||||
    draw.arc((70, 90, 120, 140), 0, 360, fill = 0)
 | 
					 | 
				
			||||||
    draw.rectangle((10, 150, 60, 200), fill = 0)
 | 
					 | 
				
			||||||
    draw.chord((70, 150, 120, 200), 0, 360, fill = 0)
 | 
					 | 
				
			||||||
    epd.display(epd.getbuffer(Limage))
 | 
					 | 
				
			||||||
    time.sleep(2)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    logging.info("3.read bmp file")
 | 
					 | 
				
			||||||
    Himage = Image.open(os.path.join(picdir, '2in9.bmp'))
 | 
					 | 
				
			||||||
    epd.display(epd.getbuffer(Himage))
 | 
					 | 
				
			||||||
    time.sleep(2)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    logging.info("4.read bmp file on window")
 | 
					 | 
				
			||||||
    Himage2 = Image.new('1', (epd.height, epd.width), 255)  # 255: clear the frame
 | 
					 | 
				
			||||||
    bmp = Image.open(os.path.join(picdir, '100x100.bmp'))
 | 
					 | 
				
			||||||
    Himage2.paste(bmp, (50,10))
 | 
					 | 
				
			||||||
    epd.display(epd.getbuffer(Himage2))
 | 
					 | 
				
			||||||
    time.sleep(2)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    # partial update
 | 
					 | 
				
			||||||
    logging.info("5.show time")
 | 
					 | 
				
			||||||
    time_image = Image.new('1', (epd.height, epd.width), 255)
 | 
					 | 
				
			||||||
    time_draw = ImageDraw.Draw(time_image)
 | 
					 | 
				
			||||||
    epd.display_Base(epd.getbuffer(time_image))
 | 
					 | 
				
			||||||
    num = 0
 | 
					 | 
				
			||||||
    while (True):
 | 
					 | 
				
			||||||
        time_draw.rectangle((10, 10, 120, 50), fill = 255)
 | 
					 | 
				
			||||||
        time_draw.text((10, 10), 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_Partial(epd.getbuffer(time_image))
 | 
					 | 
				
			||||||
        
 | 
					 | 
				
			||||||
        num = num + 1
 | 
					 | 
				
			||||||
        if(num == 10):
 | 
					 | 
				
			||||||
            break
 | 
					 | 
				
			||||||
            
 | 
					 | 
				
			||||||
    logging.info("Clear...")
 | 
					 | 
				
			||||||
    epd.init()
 | 
					 | 
				
			||||||
    epd.Clear(0xFF)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    logging.info("Goto Sleep...")
 | 
					 | 
				
			||||||
    epd.sleep()
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
except IOError as e:
 | 
					 | 
				
			||||||
    logging.info(e)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
except KeyboardInterrupt:    
 | 
					 | 
				
			||||||
    logging.info("ctrl + c:")
 | 
					 | 
				
			||||||
    epd2in9_V2.epdconfig.module_exit()
 | 
					 | 
				
			||||||
    exit()
 | 
					 | 
				
			||||||
@ -1,108 +0,0 @@
 | 
				
			|||||||
#!/usr/bin/python
 | 
					 | 
				
			||||||
# -*- coding:utf-8 -*-
 | 
					 | 
				
			||||||
import sys
 | 
					 | 
				
			||||||
import os
 | 
					 | 
				
			||||||
picdir = os.path.join(os.path.dirname(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 epd2in9
 | 
					 | 
				
			||||||
import time
 | 
					 | 
				
			||||||
from PIL import Image,ImageDraw,ImageFont
 | 
					 | 
				
			||||||
import traceback
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
logging.basicConfig(level=logging.DEBUG)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
try:
 | 
					 | 
				
			||||||
    logging.info("epd2in9 Demo")
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    epd = epd2in9.EPD()
 | 
					 | 
				
			||||||
    logging.info("init and Clear")
 | 
					 | 
				
			||||||
    epd.init(epd.lut_full_update)
 | 
					 | 
				
			||||||
    epd.Clear(0xFF)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    font24 = ImageFont.truetype(os.path.join(picdir, 'Font.ttc'), 24)
 | 
					 | 
				
			||||||
    font18 = ImageFont.truetype(os.path.join(picdir, 'Font.ttc'), 18)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    # 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((10, 20), '2.9inch e-Paper', 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)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    # Drawing on the Vertical image
 | 
					 | 
				
			||||||
    logging.info("2.Drawing on the Vertical image...")
 | 
					 | 
				
			||||||
    Limage = Image.new('1', (epd.width, epd.height), 255)  # 255: clear the frame
 | 
					 | 
				
			||||||
    draw = ImageDraw.Draw(Limage)
 | 
					 | 
				
			||||||
    draw.text((2, 0), 'hello world', font = font18, fill = 0)
 | 
					 | 
				
			||||||
    draw.text((2, 20), '2.9inch epd', font = font18, fill = 0)
 | 
					 | 
				
			||||||
    draw.text((20, 50), u'微雪电子', font = font18, fill = 0)
 | 
					 | 
				
			||||||
    draw.line((10, 90, 60, 140), fill = 0)
 | 
					 | 
				
			||||||
    draw.line((60, 90, 10, 140), fill = 0)
 | 
					 | 
				
			||||||
    draw.rectangle((10, 90, 60, 140), outline = 0)
 | 
					 | 
				
			||||||
    draw.line((95, 90, 95, 140), fill = 0)
 | 
					 | 
				
			||||||
    draw.line((70, 115, 120, 115), fill = 0)
 | 
					 | 
				
			||||||
    draw.arc((70, 90, 120, 140), 0, 360, fill = 0)
 | 
					 | 
				
			||||||
    draw.rectangle((10, 150, 60, 200), fill = 0)
 | 
					 | 
				
			||||||
    draw.chord((70, 150, 120, 200), 0, 360, fill = 0)
 | 
					 | 
				
			||||||
    epd.display(epd.getbuffer(Limage))
 | 
					 | 
				
			||||||
    time.sleep(2)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    logging.info("3.read bmp file")
 | 
					 | 
				
			||||||
    Himage = Image.open(os.path.join(picdir, '2in9.bmp'))
 | 
					 | 
				
			||||||
    epd.display(epd.getbuffer(Himage))
 | 
					 | 
				
			||||||
    time.sleep(2)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    logging.info("4.read bmp file on window")
 | 
					 | 
				
			||||||
    Himage2 = Image.new('1', (epd.height, epd.width), 255)  # 255: clear the frame
 | 
					 | 
				
			||||||
    bmp = Image.open(os.path.join(picdir, '100x100.bmp'))
 | 
					 | 
				
			||||||
    Himage2.paste(bmp, (50,10))
 | 
					 | 
				
			||||||
    epd.display(epd.getbuffer(Himage2))
 | 
					 | 
				
			||||||
    time.sleep(2)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    # partial update
 | 
					 | 
				
			||||||
    logging.info("5.show time")
 | 
					 | 
				
			||||||
    epd.init(epd.lut_partial_update)    
 | 
					 | 
				
			||||||
    epd.Clear(0xFF)
 | 
					 | 
				
			||||||
    time_image = Image.new('1', (epd.height, epd.width), 255)
 | 
					 | 
				
			||||||
    time_draw = ImageDraw.Draw(time_image)
 | 
					 | 
				
			||||||
    num = 0
 | 
					 | 
				
			||||||
    while (True):
 | 
					 | 
				
			||||||
        time_draw.rectangle((10, 10, 120, 50), fill = 255)
 | 
					 | 
				
			||||||
        time_draw.text((10, 10), 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(time_image))
 | 
					 | 
				
			||||||
        
 | 
					 | 
				
			||||||
        num = num + 1
 | 
					 | 
				
			||||||
        if(num == 10):
 | 
					 | 
				
			||||||
            break
 | 
					 | 
				
			||||||
            
 | 
					 | 
				
			||||||
    logging.info("Clear...")
 | 
					 | 
				
			||||||
    epd.init(epd.lut_full_update)
 | 
					 | 
				
			||||||
    epd.Clear(0xFF)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    logging.info("Goto Sleep...")
 | 
					 | 
				
			||||||
    epd.sleep()
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
except IOError as e:
 | 
					 | 
				
			||||||
    logging.info(e)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
except KeyboardInterrupt:    
 | 
					 | 
				
			||||||
    logging.info("ctrl + c:")
 | 
					 | 
				
			||||||
    epd2in9.epdconfig.module_exit()
 | 
					 | 
				
			||||||
    exit()
 | 
					 | 
				
			||||||
@ -1,99 +0,0 @@
 | 
				
			|||||||
#!/usr/bin/python
 | 
					 | 
				
			||||||
# -*- coding:utf-8 -*-
 | 
					 | 
				
			||||||
import sys
 | 
					 | 
				
			||||||
import os
 | 
					 | 
				
			||||||
picdir = os.path.join(os.path.dirname(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 epd2in9b_V3
 | 
					 | 
				
			||||||
import time
 | 
					 | 
				
			||||||
from PIL import Image,ImageDraw,ImageFont
 | 
					 | 
				
			||||||
import traceback
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
logging.basicConfig(level=logging.DEBUG)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
try:
 | 
					 | 
				
			||||||
    logging.info("epd2in9b V3 Demo")
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    epd = epd2in9b_V3.EPD()
 | 
					 | 
				
			||||||
    logging.info("init and Clear")
 | 
					 | 
				
			||||||
    epd.init()
 | 
					 | 
				
			||||||
    epd.Clear()
 | 
					 | 
				
			||||||
    time.sleep(1)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    # Drawing on the image
 | 
					 | 
				
			||||||
    logging.info("Drawing")    
 | 
					 | 
				
			||||||
    font24 = ImageFont.truetype(os.path.join(picdir, 'Font.ttc'), 24)
 | 
					 | 
				
			||||||
    font18 = ImageFont.truetype(os.path.join(picdir, 'Font.ttc'), 18)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    # Drawing on the Horizontal image
 | 
					 | 
				
			||||||
    logging.info("1.Drawing on the Horizontal image...") 
 | 
					 | 
				
			||||||
    HBlackimage = Image.new('1', (epd.height, epd.width), 255)  # 298*126
 | 
					 | 
				
			||||||
    HRYimage = Image.new('1', (epd.height, epd.width), 255)  # 298*126  ryimage: red or yellow image  
 | 
					 | 
				
			||||||
    drawblack = ImageDraw.Draw(HBlackimage)
 | 
					 | 
				
			||||||
    drawry = ImageDraw.Draw(HRYimage)
 | 
					 | 
				
			||||||
    drawblack.text((10, 0), 'hello world', font = font24, fill = 0)
 | 
					 | 
				
			||||||
    drawblack.text((10, 20), '2.9inch e-Paper b V3', font = font24, fill = 0)
 | 
					 | 
				
			||||||
    drawblack.text((150, 0), u'微雪电子', font = font24, fill = 0)    
 | 
					 | 
				
			||||||
    drawblack.line((20, 50, 70, 100), fill = 0)
 | 
					 | 
				
			||||||
    drawblack.line((70, 50, 20, 100), fill = 0)
 | 
					 | 
				
			||||||
    drawblack.rectangle((20, 50, 70, 100), outline = 0)    
 | 
					 | 
				
			||||||
    drawry.line((165, 50, 165, 100), fill = 0)
 | 
					 | 
				
			||||||
    drawry.line((140, 75, 190, 75), fill = 0)
 | 
					 | 
				
			||||||
    drawry.arc((140, 50, 190, 100), 0, 360, fill = 0)
 | 
					 | 
				
			||||||
    drawry.rectangle((80, 50, 130, 100), fill = 0)
 | 
					 | 
				
			||||||
    drawry.chord((200, 50, 250, 100), 0, 360, fill = 0)
 | 
					 | 
				
			||||||
    epd.display(epd.getbuffer(HBlackimage), epd.getbuffer(HRYimage))
 | 
					 | 
				
			||||||
    time.sleep(2)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    # Drawing on the Vertical image
 | 
					 | 
				
			||||||
    logging.info("2.Drawing on the Vertical image...")
 | 
					 | 
				
			||||||
    LBlackimage = Image.new('1', (epd.width, epd.height), 255)  # 126*298
 | 
					 | 
				
			||||||
    LRYimage = Image.new('1', (epd.width, epd.height), 255)  # 126*298
 | 
					 | 
				
			||||||
    drawblack = ImageDraw.Draw(LBlackimage)
 | 
					 | 
				
			||||||
    drawry = ImageDraw.Draw(LRYimage)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    drawblack.text((2, 0), 'hello world', font = font18, fill = 0)
 | 
					 | 
				
			||||||
    drawblack.text((2, 20), '2.9inch epd b V3', font = font18, fill = 0)
 | 
					 | 
				
			||||||
    drawblack.text((20, 50), u'微雪电子', font = font18, fill = 0)
 | 
					 | 
				
			||||||
    drawblack.line((10, 90, 60, 140), fill = 0)
 | 
					 | 
				
			||||||
    drawblack.line((60, 90, 10, 140), fill = 0)
 | 
					 | 
				
			||||||
    drawblack.rectangle((10, 90, 60, 140), outline = 0)
 | 
					 | 
				
			||||||
    drawry.line((95, 90, 95, 140), fill = 0)
 | 
					 | 
				
			||||||
    drawry.line((70, 115, 120, 115), fill = 0)
 | 
					 | 
				
			||||||
    drawry.arc((70, 90, 120, 140), 0, 360, fill = 0)
 | 
					 | 
				
			||||||
    drawry.rectangle((10, 150, 60, 200), fill = 0)
 | 
					 | 
				
			||||||
    drawry.chord((70, 150, 120, 200), 0, 360, fill = 0)
 | 
					 | 
				
			||||||
    epd.display(epd.getbuffer(LBlackimage), epd.getbuffer(LRYimage))
 | 
					 | 
				
			||||||
    time.sleep(2)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    logging.info("3.read bmp file")
 | 
					 | 
				
			||||||
    HBlackimage = Image.open(os.path.join(picdir, '2in9bc-b.bmp'))
 | 
					 | 
				
			||||||
    HRYimage = Image.open(os.path.join(picdir, '2in9bc-ry.bmp'))
 | 
					 | 
				
			||||||
    epd.display(epd.getbuffer(HBlackimage), epd.getbuffer(HRYimage))
 | 
					 | 
				
			||||||
    time.sleep(2)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    logging.info("4.read bmp file on window")
 | 
					 | 
				
			||||||
    blackimage1 = Image.new('1', (epd.height, epd.width), 255)  # 298*126
 | 
					 | 
				
			||||||
    redimage1 = Image.new('1', (epd.height, epd.width), 255)  # 298*126    
 | 
					 | 
				
			||||||
    newimage = Image.open(os.path.join(picdir, '100x100.bmp'))
 | 
					 | 
				
			||||||
    blackimage1.paste(newimage, (50,10))    
 | 
					 | 
				
			||||||
    epd.display(epd.getbuffer(blackimage1), epd.getbuffer(redimage1))
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    logging.info("Clear...")
 | 
					 | 
				
			||||||
    epd.init()
 | 
					 | 
				
			||||||
    epd.Clear()
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    logging.info("Goto Sleep...")
 | 
					 | 
				
			||||||
    epd.sleep()
 | 
					 | 
				
			||||||
        
 | 
					 | 
				
			||||||
except IOError as e:
 | 
					 | 
				
			||||||
    logging.info(e)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
except KeyboardInterrupt:    
 | 
					 | 
				
			||||||
    logging.info("ctrl + c:")
 | 
					 | 
				
			||||||
    epd2in9b_V3.epdconfig.module_exit()
 | 
					 | 
				
			||||||
    exit()
 | 
					 | 
				
			||||||
@ -1,99 +0,0 @@
 | 
				
			|||||||
#!/usr/bin/python
 | 
					 | 
				
			||||||
# -*- coding:utf-8 -*-
 | 
					 | 
				
			||||||
import sys
 | 
					 | 
				
			||||||
import os
 | 
					 | 
				
			||||||
picdir = os.path.join(os.path.dirname(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 epd2in9bc
 | 
					 | 
				
			||||||
import time
 | 
					 | 
				
			||||||
from PIL import Image,ImageDraw,ImageFont
 | 
					 | 
				
			||||||
import traceback
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
logging.basicConfig(level=logging.DEBUG)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
try:
 | 
					 | 
				
			||||||
    logging.info("epd2in9bc Demo")
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    epd = epd2in9bc.EPD()
 | 
					 | 
				
			||||||
    logging.info("init and Clear")
 | 
					 | 
				
			||||||
    epd.init()
 | 
					 | 
				
			||||||
    epd.Clear()
 | 
					 | 
				
			||||||
    time.sleep(1)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    # Drawing on the image
 | 
					 | 
				
			||||||
    logging.info("Drawing")    
 | 
					 | 
				
			||||||
    font24 = ImageFont.truetype(os.path.join(picdir, 'Font.ttc'), 24)
 | 
					 | 
				
			||||||
    font18 = ImageFont.truetype(os.path.join(picdir, 'Font.ttc'), 18)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    # Drawing on the Horizontal image
 | 
					 | 
				
			||||||
    logging.info("1.Drawing on the Horizontal image...") 
 | 
					 | 
				
			||||||
    HBlackimage = Image.new('1', (epd.height, epd.width), 255)  # 298*126
 | 
					 | 
				
			||||||
    HRYimage = Image.new('1', (epd.height, epd.width), 255)  # 298*126  ryimage: red or yellow image  
 | 
					 | 
				
			||||||
    drawblack = ImageDraw.Draw(HBlackimage)
 | 
					 | 
				
			||||||
    drawry = ImageDraw.Draw(HRYimage)
 | 
					 | 
				
			||||||
    drawblack.text((10, 0), 'hello world', font = font24, fill = 0)
 | 
					 | 
				
			||||||
    drawblack.text((10, 20), '2.9inch e-Paper bc', font = font24, fill = 0)
 | 
					 | 
				
			||||||
    drawblack.text((150, 0), u'微雪电子', font = font24, fill = 0)    
 | 
					 | 
				
			||||||
    drawblack.line((20, 50, 70, 100), fill = 0)
 | 
					 | 
				
			||||||
    drawblack.line((70, 50, 20, 100), fill = 0)
 | 
					 | 
				
			||||||
    drawblack.rectangle((20, 50, 70, 100), outline = 0)    
 | 
					 | 
				
			||||||
    drawry.line((165, 50, 165, 100), fill = 0)
 | 
					 | 
				
			||||||
    drawry.line((140, 75, 190, 75), fill = 0)
 | 
					 | 
				
			||||||
    drawry.arc((140, 50, 190, 100), 0, 360, fill = 0)
 | 
					 | 
				
			||||||
    drawry.rectangle((80, 50, 130, 100), fill = 0)
 | 
					 | 
				
			||||||
    drawry.chord((200, 50, 250, 100), 0, 360, fill = 0)
 | 
					 | 
				
			||||||
    epd.display(epd.getbuffer(HBlackimage), epd.getbuffer(HRYimage))
 | 
					 | 
				
			||||||
    time.sleep(2)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    # Drawing on the Vertical image
 | 
					 | 
				
			||||||
    logging.info("2.Drawing on the Vertical image...")
 | 
					 | 
				
			||||||
    LBlackimage = Image.new('1', (epd.width, epd.height), 255)  # 126*298
 | 
					 | 
				
			||||||
    LRYimage = Image.new('1', (epd.width, epd.height), 255)  # 126*298
 | 
					 | 
				
			||||||
    drawblack = ImageDraw.Draw(LBlackimage)
 | 
					 | 
				
			||||||
    drawry = ImageDraw.Draw(LRYimage)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    drawblack.text((2, 0), 'hello world', font = font18, fill = 0)
 | 
					 | 
				
			||||||
    drawblack.text((2, 20), '2.9inch epd bc', font = font18, fill = 0)
 | 
					 | 
				
			||||||
    drawblack.text((20, 50), u'微雪电子', font = font18, fill = 0)
 | 
					 | 
				
			||||||
    drawblack.line((10, 90, 60, 140), fill = 0)
 | 
					 | 
				
			||||||
    drawblack.line((60, 90, 10, 140), fill = 0)
 | 
					 | 
				
			||||||
    drawblack.rectangle((10, 90, 60, 140), outline = 0)
 | 
					 | 
				
			||||||
    drawry.line((95, 90, 95, 140), fill = 0)
 | 
					 | 
				
			||||||
    drawry.line((70, 115, 120, 115), fill = 0)
 | 
					 | 
				
			||||||
    drawry.arc((70, 90, 120, 140), 0, 360, fill = 0)
 | 
					 | 
				
			||||||
    drawry.rectangle((10, 150, 60, 200), fill = 0)
 | 
					 | 
				
			||||||
    drawry.chord((70, 150, 120, 200), 0, 360, fill = 0)
 | 
					 | 
				
			||||||
    epd.display(epd.getbuffer(LBlackimage), epd.getbuffer(LRYimage))
 | 
					 | 
				
			||||||
    time.sleep(2)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    logging.info("3.read bmp file")
 | 
					 | 
				
			||||||
    HBlackimage = Image.open(os.path.join(picdir, '2in9bc-b.bmp'))
 | 
					 | 
				
			||||||
    HRYimage = Image.open(os.path.join(picdir, '2in9bc-ry.bmp'))
 | 
					 | 
				
			||||||
    epd.display(epd.getbuffer(HBlackimage), epd.getbuffer(HRYimage))
 | 
					 | 
				
			||||||
    time.sleep(2)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    logging.info("4.read bmp file on window")
 | 
					 | 
				
			||||||
    blackimage1 = Image.new('1', (epd.height, epd.width), 255)  # 298*126
 | 
					 | 
				
			||||||
    redimage1 = Image.new('1', (epd.height, epd.width), 255)  # 298*126    
 | 
					 | 
				
			||||||
    newimage = Image.open(os.path.join(picdir, '100x100.bmp'))
 | 
					 | 
				
			||||||
    blackimage1.paste(newimage, (50,10))    
 | 
					 | 
				
			||||||
    epd.display(epd.getbuffer(blackimage1), epd.getbuffer(redimage1))
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    logging.info("Clear...")
 | 
					 | 
				
			||||||
    epd.init()
 | 
					 | 
				
			||||||
    epd.Clear()
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    logging.info("Goto Sleep...")
 | 
					 | 
				
			||||||
    epd.sleep()
 | 
					 | 
				
			||||||
        
 | 
					 | 
				
			||||||
except IOError as e:
 | 
					 | 
				
			||||||
    logging.info(e)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
except KeyboardInterrupt:    
 | 
					 | 
				
			||||||
    logging.info("ctrl + c:")
 | 
					 | 
				
			||||||
    epd2in9bc.epdconfig.module_exit()
 | 
					 | 
				
			||||||
    exit()
 | 
					 | 
				
			||||||
@ -1,108 +0,0 @@
 | 
				
			|||||||
#!/usr/bin/python
 | 
					 | 
				
			||||||
# -*- coding:utf-8 -*-
 | 
					 | 
				
			||||||
import sys
 | 
					 | 
				
			||||||
import os
 | 
					 | 
				
			||||||
picdir = os.path.join(os.path.dirname(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 epd2in9d
 | 
					 | 
				
			||||||
import time
 | 
					 | 
				
			||||||
from PIL import Image,ImageDraw,ImageFont
 | 
					 | 
				
			||||||
import traceback
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
logging.basicConfig(level=logging.DEBUG)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
try:
 | 
					 | 
				
			||||||
    logging.info("epd2in9d Demo")
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    epd = epd2in9d.EPD()
 | 
					 | 
				
			||||||
    logging.info("init and Clear")
 | 
					 | 
				
			||||||
    epd.init()
 | 
					 | 
				
			||||||
    epd.Clear()
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    font24 = ImageFont.truetype(os.path.join(picdir, 'Font.ttc'), 24)
 | 
					 | 
				
			||||||
    font18 = ImageFont.truetype(os.path.join(picdir, 'Font.ttc'), 18)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    # 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((10, 20), '2.9inch e-Paper d', 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)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    # Drawing on the Vertical image
 | 
					 | 
				
			||||||
    logging.info("2.Drawing on the Vertical image...")
 | 
					 | 
				
			||||||
    Limage = Image.new('1', (epd.width, epd.height), 255)  # 255: clear the frame
 | 
					 | 
				
			||||||
    draw = ImageDraw.Draw(Limage)
 | 
					 | 
				
			||||||
    draw.text((2, 0), 'hello world', font = font18, fill = 0)
 | 
					 | 
				
			||||||
    draw.text((2, 20), '2.9inch epd d', font = font18, fill = 0)
 | 
					 | 
				
			||||||
    draw.text((20, 50), u'微雪电子', font = font18, fill = 0)
 | 
					 | 
				
			||||||
    draw.line((10, 90, 60, 140), fill = 0)
 | 
					 | 
				
			||||||
    draw.line((60, 90, 10, 140), fill = 0)
 | 
					 | 
				
			||||||
    draw.rectangle((10, 90, 60, 140), outline = 0)
 | 
					 | 
				
			||||||
    draw.line((95, 90, 95, 140), fill = 0)
 | 
					 | 
				
			||||||
    draw.line((70, 115, 120, 115), fill = 0)
 | 
					 | 
				
			||||||
    draw.arc((70, 90, 120, 140), 0, 360, fill = 0)
 | 
					 | 
				
			||||||
    draw.rectangle((10, 150, 60, 200), fill = 0)
 | 
					 | 
				
			||||||
    draw.chord((70, 150, 120, 200), 0, 360, fill = 0)
 | 
					 | 
				
			||||||
    epd.display(epd.getbuffer(Limage))
 | 
					 | 
				
			||||||
    time.sleep(2)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    logging.info("3.read bmp file")
 | 
					 | 
				
			||||||
    Himage = Image.open(os.path.join(picdir, '2in9d.bmp'))
 | 
					 | 
				
			||||||
    epd.display(epd.getbuffer(Himage))
 | 
					 | 
				
			||||||
    time.sleep(2)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    logging.info("4.read bmp file on window")
 | 
					 | 
				
			||||||
    Himage2 = Image.new('1', (epd.height, epd.width), 255)  # 255: clear the frame
 | 
					 | 
				
			||||||
    bmp = Image.open(os.path.join(picdir, '100x100.bmp'))
 | 
					 | 
				
			||||||
    Himage2.paste(bmp, (50,10))
 | 
					 | 
				
			||||||
    epd.display(epd.getbuffer(Himage2))
 | 
					 | 
				
			||||||
    time.sleep(2)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    # # partial update
 | 
					 | 
				
			||||||
    logging.info("5.show time...")
 | 
					 | 
				
			||||||
    epd.init()    
 | 
					 | 
				
			||||||
    epd.Clear()
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    time_image = Image.new('1', (epd.width, epd.height), 255)
 | 
					 | 
				
			||||||
    time_draw = ImageDraw.Draw(time_image)
 | 
					 | 
				
			||||||
    num = 0
 | 
					 | 
				
			||||||
    while (True):
 | 
					 | 
				
			||||||
        time_draw.rectangle((10, 10, 120, 50), fill = 255)
 | 
					 | 
				
			||||||
        time_draw.text((10, 10), time.strftime('%H:%M:%S'), font = font24, fill = 0)
 | 
					 | 
				
			||||||
        newimage = time_image.crop([10, 10, 120, 50])
 | 
					 | 
				
			||||||
        time_image.paste(newimage, (10,10))  
 | 
					 | 
				
			||||||
        epd.DisplayPartial(epd.getbuffer(time_image))
 | 
					 | 
				
			||||||
        num = num + 1
 | 
					 | 
				
			||||||
        if(num == 10):
 | 
					 | 
				
			||||||
            break
 | 
					 | 
				
			||||||
            
 | 
					 | 
				
			||||||
    epd.init()
 | 
					 | 
				
			||||||
    logging.info("Clear...")
 | 
					 | 
				
			||||||
    epd.Clear()
 | 
					 | 
				
			||||||
    time.sleep(2)
 | 
					 | 
				
			||||||
    logging.info("Goto Sleep...")
 | 
					 | 
				
			||||||
    epd.sleep()
 | 
					 | 
				
			||||||
        
 | 
					 | 
				
			||||||
except IOError as e:
 | 
					 | 
				
			||||||
    logging.info(e)
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
except KeyboardInterrupt:    
 | 
					 | 
				
			||||||
    logging.info("ctrl + c:")
 | 
					 | 
				
			||||||
    epd2in9d.epdconfig.module_exit()
 | 
					 | 
				
			||||||
    exit()
 | 
					 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								pic/01.bmp
									
									
									
									
									
								
							
							
						
						| 
		 Before Width: | Height: | Size: 59 KiB  | 
| 
		 Before Width: | Height: | Size: 83 KiB  | 
| 
		 Before Width: | Height: | Size: 83 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								pic/1in02.bmp
									
									
									
									
									
								
							
							
						
						| 
		 Before Width: | Height: | Size: 1.3 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								pic/1in54.bmp
									
									
									
									
									
								
							
							
						
						| 
		 Before Width: | Height: | Size: 5.5 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								pic/1in54b-b.bmp
									
									
									
									
									
								
							
							
						
						| 
		 Before Width: | Height: | Size: 5.5 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								pic/1in54b-r.bmp
									
									
									
									
									
								
							
							
						
						| 
		 Before Width: | Height: | Size: 5.5 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								pic/1in54c-b.bmp
									
									
									
									
									
								
							
							
						
						| 
		 Before Width: | Height: | Size: 3.0 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								pic/1in54c-y.bmp
									
									
									
									
									
								
							
							
						
						| 
		 Before Width: | Height: | Size: 3.0 KiB  | 
| 
		 Before Width: | Height: | Size: 146 KiB  | 
| 
		 Before Width: | Height: | Size: 146 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								pic/2.66__b.bmp
									
									
									
									
									
								
							
							
						
						| 
		 Before Width: | Height: | Size: 6.0 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								pic/2.66__r.bmp
									
									
									
									
									
								
							
							
						
						| 
		 Before Width: | Height: | Size: 6.0 KiB  | 
| 
		 Before Width: | Height: | Size: 6.0 KiB  | 
| 
		 Before Width: | Height: | Size: 6.0 KiB  | 
| 
		 Before Width: | Height: | Size: 6.0 KiB  | 
| 
		 Before Width: | Height: | Size: 6.0 KiB  | 
| 
		 Before Width: | Height: | Size: 6.0 KiB  | 
| 
		 Before Width: | Height: | Size: 6.0 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								pic/2.66inch.bmp
									
									
									
									
									
								
							
							
						
						| 
		 Before Width: | Height: | Size: 6.0 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								pic/2in7.bmp
									
									
									
									
									
								
							
							
						
						| 
		 Before Width: | Height: | Size: 6.2 KiB  | 
| 
		 Before Width: | Height: | Size: 23 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								pic/2in7b-b.bmp
									
									
									
									
									
								
							
							
						
						| 
		 Before Width: | Height: | Size: 6.2 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								pic/2in7b-r.bmp
									
									
									
									
									
								
							
							
						
						| 
		 Before Width: | Height: | Size: 6.2 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								pic/2in9.bmp
									
									
									
									
									
								
							
							
						
						| 
		 Before Width: | Height: | Size: 4.7 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								pic/2in9_1.bmp
									
									
									
									
									
								
							
							
						
						| 
		 Before Width: | Height: | Size: 4.7 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								pic/2in9_2.bmp
									
									
									
									
									
								
							
							
						
						| 
		 Before Width: | Height: | Size: 4.7 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								pic/2in9bc-b.bmp
									
									
									
									
									
								
							
							
						
						| 
		 Before Width: | Height: | Size: 5.1 KiB  | 
| 
		 Before Width: | Height: | Size: 5.1 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								pic/2in9d.bmp
									
									
									
									
									
								
							
							
						
						| 
		 Before Width: | Height: | Size: 5.1 KiB  |