Изображение
Класс 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
.