Bilder mit dem Image Converter
Was dieses Beispiel zeigt
Das Beispiel zeigt ein Bild, das in den Sketch einkompiliert ist. Der Soldered Image Converter wandelt ein Bild in ein C-Array in einer Header-Datei, image.h, um, die der Sketch einbindet und zeichnet. Der Beispielordner enthält bereits eine image.h, daher läuft der Sketch unverändert.
So verwenden Sie ein eigenes Bild:
- Öffnen Sie den Image Converter unter tools.soldered.com/tools/image-converter.
- Laden Sie Ihr Bild hoch und wählen Sie Inkplate 7SPECTRA als Ziel-Board aus.
- Wählen Sie den Farbmodus und passen Sie Dithering, Größe und die weiteren Optionen nach Bedarf an.
- Speichern Sie die erzeugte Header-Datei als
image.him selben Ordner wie den Sketch und ersetzen Sie damit die vorhandene Datei.
Beispielcode
#include "Inkplate.h" // Include the Inkplate library
#include "image.h" // Include the image header generated by the Image Converter tool
Inkplate display; // Create an Inkplate object for Inkplate 7SPECTRA
void setup() {
display.begin(); // Initialize the display hardware
display.clearDisplay(); // Clear the frame buffer (does NOT clear the physical screen)
display.image.draw(image, 0, 0, image_w, image_h); // Arguments are: array variable name, start X, start Y, size X, size Y
display.display(); // Refresh the e-paper display to show the image
}
void loop() {
// No code needed here for this example
}
Verwendete Funktionen
Inkplate()returns NoneErzeugt das Inkplate-Objekt. Inkplate 7SPECTRA hat einen einzigen Sechs-Farben-Modus, daher erwartet der Konstruktor kein Modus-Argument.
ReturnsKonstruktor; kein Rückgabewert.
display.begin()returns voidInitialisiert die Bibliothek, die Peripherie und den Framebuffer. Rufen Sie sie einmal in setup() auf; spätere Aufrufe werden ignoriert.
ReturnsNichts.
display.clearDisplay()returns voidFüllt den Framebuffer mit Weiß. Das Panel wird dadurch nicht verändert.
ReturnsNichts.
display.image.draw(const uint8_t *buf, int x, int y, int16_t w, int16_t h, uint8_t c = 1, uint8_t bg = 0xFF)returns boolZeichnet ein Bild-Array aus dem Speicher in den Framebuffer, wobei sich die obere linke Ecke bei (x, y) befindet. image_w und image_h sind in der erzeugten image.h definiert.
ReturnsGibt an, ob das Bild gezeichnet wurde.
Parameter
| Typ | Name | Beschreibung |
|---|---|---|
const uint8_t * | buf | Das Bild-Array, hier image. |
int | x, y | Obere linke Ecke in Pixeln. |
int16_t | w, h | Breite und Höhe des Bildes in Pixeln. |
uint8_t | c | Optional. Standardwert ist 1. |
uint8_t | bg | Optional. Standardwert ist 0xFF. |
display.display(bool _leaveOn = 0)returns voidSendet den gesamten Framebuffer an das Panel und aktualisiert es.
ReturnsNichts.
Was Sie erwarten können
Das konvertierte Bild erscheint auf dem Bildschirm, beginnend in der oberen linken Ecke. Der Sketch gibt nichts im Serial Monitor aus.
🔗Vollständiges Beispiel öffnen
examples/Inkplate7SPECTRA/Basic/Inkplate7SPECTRA_Image_Converter