먼저 일반적인 사진은 jpg or png가 많다.
여기서 방법은 2가지이다. jpg decoder를 해서 lcd 화면에 띄울거냐, 아니면 bmp를 변환한 것을 sd카드에 넣어서 사용할거냐
장단점은 존재한다.
종류 | 장단점 |
jpg | 손실 압축 형식을 사용하므로 BMP보다 파일 크기가 작지만, 디코딩이 더 복잡함 따라서 추가적인 디코딩 과정이 필요함 |
bmp | 무압축 또는 간단한 압축 방식이라서 데이터 구조가 단순하여 디코딩이 쉬움 따라서 TFT 라이브러리에서 기본적으로 지원됨 |
jpg가 파일 크기가 작으니 SD 카드에서 읽는 속도가 더 빠를 수 있지만 일단 bmp로 진행해보겠다.
(jpg 디코더를 사용할거면 다음 라이브러리를 이용해봐라 https://github.com/Bodmer/TJpg_Decoder)
bmp의 데이터 형식은 다음 블로그를 참고하자
https://makeutil.tistory.com/172
이것을 알아야 코드를 짤 수 있다.
코드는 깃허브에 올려둘테니 참고바란다.
대부분의 코드에 주석을 달아두었으니 응용해서 써도 된다.
아직 최종 목표에 가지 않아 계속 업데이트 할 예정이다.
jpg to bmp는 다음 링크를 이용하자
생각보다 이미지를 띄우는 속도가 매우 느리다.
이부분에서 생각한건 현재 320x480인 jpg 41kb를 변환 했을 때 bmp는 450kb정도 된다.
esp32C3 super mini의 flash메모리는 4mb정도 되니, 몇개정도를 flash메모리에 불러오는 작업을 해서 속도를 늦쳐봐야겠다.
SD에서 사진을 불러오는 것은 다음 영상에서 구현한것을 올려두었다.
https://youtube.com/shorts/zIYwrHou7oM?feature=share
'ESP' 카테고리의 다른 글
ESP32C3 Super Mini / ST7796S TFT LCD -5 (1) | 2025.01.22 |
---|---|
ESP32C3 Super Mini / ST7796S TFT LCD -4 (0) | 2025.01.18 |
ESP32C3 Super Mini / SD리더기 (0) | 2025.01.11 |
ESP32C3 Super Mini / ST7796S TFT LCD -2 (0) | 2025.01.09 |
ESP32C3 Super Mini / ST7796S TFT LCD -1 (0) | 2025.01.08 |