Библиотека PIL не работает с экраном ssd1306.Я пытаюсь отобразить некоторый текст, и когда я хочу его обновить, новый текст записывается поверх предыдущего.
Я использую PIL, который является форком PILLOW
На данный момент я просто хочу взять байт в i2c и записать его на экране
Thxзаранее!
Я пытался работать с этими методами: https://pillow.readthedocs.io/en/3.1.x/reference/Image.html Например, я пытался нарисовать прямоугольник: rectangle = ImageDraw.Draw.rectangle ([40,50,50,60], БЕЛЫЙ, ЧЕРНЫЙ) но библиотека не знает прямоугольник ...
import smbus
import time
import Adafruit_GPIO.SPI as SPI
import Adafruit_SSD1306
from PIL import Image
from PIL import ImageDraw
from PIL import ImageFont
from PIL import ImageColor
RST = 0
#Creation of a display object. We don't need to put its i2c addr
#because it's known and static
disp = Adafruit_SSD1306.SSD1306_128_64(rst=RST)
#Remplacer 0 par 1 si nouveau Raspberry
bus = smbus.SMBus(1)
address = 0x27
disp = Adafruit_SSD1306.SSD1306_128_64(rst=RST)
bus = smbus.SMBus(1)
address = 0x27
disp.begin()
disp.clear()
disp.display()
width = disp.width
height = disp.height
image = Image.new('1', (width, height))
rect_image = Image.new('1', (width, height))
#Get drawing object to draw on image.
draw = ImageDraw.Draw(image)
rectangle = ImageDraw.Draw.rectangle([40, 50, 50, 60], WHITE, BLACK)
#Select the font
font = ImageFont.truetype('/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf', 20)
#Draw some text
draw.text((0,0), 'Master fader', font=font, fill=255)
font = ImageFont.truetype('/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf', 22)
draw.text((50,40), '50%', font=font, fill=255)
#Actualise l'affichage - Update display
disp.image(image)
disp.display()
disp.clear();
#Send datas
while 1:
reponse = bus.read_byte(address)
print "ADC value :", reponse
disp.image(rect_image)
disp.display()
draw.text((50,40), str(reponse) + " %", font=font, fill=255)
disp.image(image)
disp.display()
Когда я пытаюсь запустить код:
Traceback (последний вызов был последним): File«i2c_attiny_send_and_receive_with_screen.py», строка 34, в прямоугольнике = ImageDraw.Draw.rectangle ([40, 50, 50, 60], WHITE, BLACK) AttributeError: у объекта 'function' нет атрибута 'rectangle'