ESPHome 2025.5.0
Loading...
Searching...
No Matches
png_image.h
Go to the documentation of this file.
1#pragma once
2
3#include "image_decoder.h"
5#ifdef USE_ONLINE_IMAGE_PNG_SUPPORT
6#include <pngle.h>
7
8namespace esphome {
9namespace online_image {
10
14class PngDecoder : public ImageDecoder {
15 public:
21 PngDecoder(OnlineImage *image) : ImageDecoder(image), pngle_(pngle_new()) {}
22 ~PngDecoder() override { pngle_destroy(this->pngle_); }
23
24 int prepare(size_t download_size) override;
25 int HOT decode(uint8_t *buffer, size_t size) override;
26
27 protected:
28 pngle_t *pngle_;
29};
30
31} // namespace online_image
32} // namespace esphome
33
34#endif // USE_ONLINE_IMAGE_PNG_SUPPORT
Class to abstract decoding different image formats.
Download an image from a given URL, and decode it using the specified decoder.
Image decoder specialization for PNG images.
Definition png_image.h:14
PngDecoder(OnlineImage *image)
Construct a new PNG Decoder object.
Definition png_image.h:21
int HOT decode(uint8_t *buffer, size_t size) override
Definition png_image.cpp:55
int prepare(size_t download_size) override
Definition png_image.cpp:43
Providing packet encoding functions for exchanging data with a remote host.
Definition a01nyub.cpp:7