Bodmer / TFT_eSPI

Arduino and PlatformIO IDE compatible TFT library optimised for the Raspberry Pi Pico (RP2040), STM32, ESP8266 and ESP32 that supports different driver chips
Other
3.71k stars 1.07k forks source link

Suggestion: animated GIF support #203

Closed MarcFinns closed 6 years ago

MarcFinns commented 6 years ago

Hello Bodmer, a number of weather services provide animated GIFs with moving weather. Do you think this is beyond the limits of esp8266/esp32? would it be an interesting option to support it? thanks.

Bodmer commented 6 years ago

Have you tried this library?

MarcFinns commented 6 years ago

Well, i searched and missed this one... thanks! Let’s see if it works. Need first to solve the out of memory as these services sadly all use https which crashes my device for now. Thanks again!

On 7 Sep 2018, at 00:53, Bodmer notifications@github.com<mailto:notifications@github.com> wrote:

Have you tried this libraryhttps://github.com/prenticedavid/AnimatedGIFs_SD?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/Bodmer/TFT_eSPI/issues/203#issuecomment-419267263, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AXPSLZW4jnE54mMC4mtTxdvu9R1yKV2eks5uYadygaJpZM4Wd1k8.

nikthefix commented 9 months ago

Also this one:

https://github.com/bitbank2/AnimatedGIF

He has a TFT_eSPI example which works really well and can play back from PROGMEM via partial screen buffers. If you have enough PSRAM then he offers a full screen buffer example which is simpler and renders much much faster.

Alternatively, LVGL supports gif natively. Just enable the 'use gif' option in lv_conf.h TFT_eSPI with bitbank is faster for small projects but for larger CPU workloads, LVGL's gui time management wins out especially if you have a lot of animations on screen - in my experience.

Alternatively2, For use with TFT_eSPI maybe convert the gif into MJPG byte array using one of the many on-line resources. The byte array will be much larger but you won't need the logic to decode the gif - which is quite expensive as the gif is heavily compressed.

In this case just index each frame in the array and use your preferred TFT_eSPI JPG decoder.

Swings and roundabouts.