Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
products:laboratory_iot:exp48 [2020/05/26 15:47] labuser29products:laboratory_iot:exp48 [2024/12/12 11:13] (текущий) – [Программный код эксперимента] labuser30
Строка 1: Строка 1:
 ===== Эксперимент 48. Отображение картинки ===== ===== Эксперимент 48. Отображение картинки =====
  
-Мы уже научились отображать на дисплее текст и графические примитивы. Из этих элементов мы уже можем отображать пользовательский интерфейс, меню и выводить информацию с различных датчиков. Но для красивого интерфейса нужны еще икноки, пикрограммы и просто картинки. Кроме того, многие игры отображаются с помощью спрайтов — небольших прямоугольных изображений из которых строится вся сцена и персонажи.+Мы уже научились отображать на дисплее текст и графические примитивы. Из этих элементов мы уже можем отображать пользовательский интерфейс, меню и выводить информацию с различных датчиков. Но для красивого интерфейса нужны еще иконки, пиктограммы и просто картинки. Кроме того, многие игры отображаются с помощью спрайтов — небольших прямоугольных изображений из которых строится вся сцена и персонажи.
  
 Существует множество графических форматов, в которых можно сохранять изображения. Самым простым является формат BMP. В данном формате можно хранить только однослойные растры. В этом формате просто описывается цвет каждой точки изображения. На каждый пиксель в разных файлах может приходиться разное количество бит (глубина цвета). Сейчас этот формат распространен мало так как он не подразумевает никакого сжатия данных и картинки имеют большой вес, зато с ним легко работать. С помощью встроенного в Windows простейшего графического редактора Paint без труда можно сконвертировать картинки в этот формат. Существует множество графических форматов, в которых можно сохранять изображения. Самым простым является формат BMP. В данном формате можно хранить только однослойные растры. В этом формате просто описывается цвет каждой точки изображения. На каждый пиксель в разных файлах может приходиться разное количество бит (глубина цвета). Сейчас этот формат распространен мало так как он не подразумевает никакого сжатия данных и картинки имеют большой вес, зато с ним легко работать. С помощью встроенного в Windows простейшего графического редактора Paint без труда можно сконвертировать картинки в этот формат.
Строка 14: Строка 14:
  
 {{ :products:esp-iot:exp24_mon.png?direct&600 |}} {{ :products:esp-iot:exp24_mon.png?direct&600 |}}
-//Рисунок 1. Монтажная схема эксперимента//+//Рисунок 1. Монтажная схема эксперимента для дисплея с 8 выводами//
  
 +{{ :products:esp-iot:exp24_mon_11pin.png?direct&600 |}}
 +//Рисунок 2. Монтажная схема эксперимента для дисплея с 11 выводами//
 ==== Программный код эксперимента ==== ==== Программный код эксперимента ====
-Напишем приветственную надпись на дисплее+Выведем картинку на  дисплей
  
-<file python Exp47.py[enable_line_numbers="2", start_line_numbers_at="1"]>+<file python Exp48.py[enable_line_numbers="2", start_line_numbers_at="1"]>
 from machine import Pin, SPI from machine import Pin, SPI
 from tft import TFT_GREEN from tft import TFT_GREEN
Строка 32: Строка 34:
 tft = TFT_GREEN(128, 160, spi, dc, cs, rst, rotate=0) tft = TFT_GREEN(128, 160, spi, dc, cs, rst, rotate=0)
  
-tft.initr()+tft.initr(tft.BGR# tft.initr(tft.RGB) #Если вместо синего цвета отображается красный, а вместо красного синий
  
 # Отображаем картинку с именем plane.bmp начиная с координаты 0, 0 # Отображаем картинку с именем plane.bmp начиная с координаты 0, 0
Строка 38: Строка 40:
 tft.draw_bmp(0,0,'plane.bmp') tft.draw_bmp(0,0,'plane.bmp')
 </file> </file>
 +
 +<WRAP center round important 60%>
 +Дисплеи, которые могут быть в комплекте набора MAXI, отличаются не только количеством выводов, но и встроенными настройками, которые влияют на передачу цвета. Функция ''tft.initr'' инициализирует дисплей, подготавливает его к работе. В качестве параметра данная функция принимает настройку цвета — **tft.BGR** или **tft.RGB**. Если вместо красного цвета на дисплее отображается синий, а вместо синего- красный, то необходимо сменить настройку цвета на другую.
 +</WRAP>
 +