Изображение
Класс Image используется для создания изображений, которые можно легко отобразить на
светодиодная матрица устройства. Учитывая объект изображения, его можно отобразить через
API отображения:
display.show(Image.HAPPY)
Существует четыре способа создания образа:
Image()- Создает пустое изображение 5x5Image(string)- Создает изображение, проанализировав строку.Image(width, height)- Создать пустое изображение заданного размераImage(width, height, buffer)- Создать изображение из заданного буфера
Класс
- class Image(string)
- class Image(width=None, height=None, buffer=None)
Если используется
string, она должна состоять из цифр 0-9, расположенных в строки, описывающие изображение, например:image = Image("90009:" "09090:" "00900:" "09090:" "90009")
создаст изображение размером 5×5. Конец строки обозначается двоеточием. Также можно использовать новую строку (n) для обозначения конца строки. Пример:
image = Image("90009\n" "09090\n" "00900\n" "09090\n" "90009")
Другая форма создает пустое изображение со столбцами
widthиheightстрок. Опциональноbufferможет быть массивомwidth×heightцелые числа в диапазоне 0-9 для инициализации изображения:Image(2, 2, b'\x08\x08\x08\x08')
или:
Image(2, 2, bytearray([9,9,9,9]))
Создаст изображение размером 2 x 2 пикселя с максимальной яркостью..
Примечание
Аргументы ключевого слова не могут быть переданы
buffer.- width()
Вернуть количество столбцов в изображении.
- height()
Вернуть количество строк в изображении.
- set_pixel(x, y, value)
Установите яркость пикселя в столбце «x» и строке «y» на
value, которое должно быть между 0 (темный) и 9 (яркий).Этот метод вызовет исключение при вызове любого из встроенных изображения только для чтения, такие как
Image.HEART.
- get_pixel(x, y)
Возвращает яркость пикселя в столбце
xи строкеyкак целое число от 0 до 9.
- shift_left(n)
Вернуть новое изображение, созданное путем сдвига изображения влево на
nстолбцы.
- shift_right(n)
Здвиг вправо
image.shift_left(-n).
- shift_up(n)
вернуть новое изображение, созданное путем сдвига изображения вверх на
nстрок.
- shift_down(n)
Сдвиг вниз
image.shift_up(-n).
- crop(x, y, w, h)
Верните новое изображение, обрезав изображение до ширины
wи a высотаh, начиная с пикселя в столбцеxи строкеy.
- copy()
Вернуть точную копию изображения.
- invert()
Верните новое изображение, инвертировав яркость пикселей в исходное изображение.
- fill(value)
Установите яркость всех пикселей изображения на
value, которое должно быть между 0 (темный) и 9 (яркий).Этот метод вызовет исключение при вызове любого из встроенных изображения только для чтения, такие как
Image.HEART.
- blit(src, x, y, w, h, xdest=0, ydest=0)
Скопируйте прямоугольник, определенный
x,y,w,hиз изображенияsrcв это изображение вxdest,ydest. Области в исходном прямоугольнике, но за пределами исходного изображения, обрабатываются как имеющие значение 0.shift_left(),shift_right(),shift_up(),shift_down()иcrop()все они могут быть реализованы с помощьюblit().Например, img.crop(x, y, w, h) можно реализовать как:
def crop(self, x, y, w, h): res = Image(w, h) res.blit(self, x, y, w, h) return res
Атрибуты
Класс Image также имеет следующие встроенные экземпляры:
включены в качестве его атрибутов (имена атрибутов указывают, что изображение
представляет собой):
Image.HEART
Image.HEART_SMALL
Image.HAPPY
Image.SMILE
Image.SAD
Image.CONFUSED
Image.ANGRY
Image.ASLEEP
Image.SURPRISED
Image.SILLY
Image.FABULOUS
Image.MEH
Image.YES
Image.NO
Image.CLOCK12,Image.CLOCK11,Image.CLOCK10,Image.CLOCK9,Image.CLOCK8,Image.CLOCK7,Image.CLOCK6,Image.CLOCK5,Image.CLOCK4,Image.CLOCK3,Image.CLOCK2,Image.CLOCK1
Image.ARROW_N,Image.ARROW_NE,Image.ARROW_E,Image.ARROW_SE,Image.ARROW_S,Image.ARROW_SW,Image.ARROW_W,Image.ARROW_NW
Image.TRIANGLE
Image.TRIANGLE_LEFT
Image.CHESSBOARD
Image.DIAMOND
Image.DIAMOND_SMALL
Image.SQUARE
Image.SQUARE_SMALL
Image.RABBIT
Image.COW
Image.MUSIC_CROTCHET
Image.MUSIC_QUAVER
Image.MUSIC_QUAVERS
Image.PITCHFORK
Image.XMAS
Image.PACMAN
Image.TARGET
Image.TSHIRT
Image.ROLLERSKATE
Image.DUCK
Image.HOUSE
Image.TORTOISE
Image.BUTTERFLY
Image.STICKFIGURE
Image.GHOST
Image.SWORD
Image.GIRAFFE
Image.SKULL
Image.UMBRELLA
Image.SNAKE
Наконец, связанные коллекции изображений были сгруппированы вместе:
* ``Image.ALL_CLOCKS``
* ``Image.ALL_ARROWS``
Команды
repr(image)
Получить компактное строковое представление изображения.
str(image)
Получить удобочитаемое строковое представление изображения.
image1 + image2
Создайте новое изображение, добавив значения яркости из двух изображений для каждый пиксель.
image * n
Создайте новое изображение, умножив яркость каждого пикселя на n.