Zum Hauptinhalt springen

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:

  1. Öffnen Sie den Image Converter unter tools.soldered.com/tools/image-converter.
  2. Laden Sie Ihr Bild hoch und wählen Sie Inkplate 7SPECTRA als Ziel-Board aus.
  3. Wählen Sie den Farbmodus und passen Sie Dithering, Größe und die weiteren Optionen nach Bedarf an.
  4. Speichern Sie die erzeugte Header-Datei als image.h im selben Ordner wie den Sketch und ersetzen Sie damit die vorhandene Datei.

Beispielcode​

Select Board
Inkplate7SPECTRA_Image_Converter.ino
#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 None

Erzeugt 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 void

Initialisiert die Bibliothek, die Peripherie und den Framebuffer. Rufen Sie sie einmal in setup() auf; spätere Aufrufe werden ignoriert.

ReturnsNichts.

display.clearDisplay()returns void

Fü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 bool

Zeichnet 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

TypNameBeschreibung
const uint8_t *bufDas Bild-Array, hier image.
intx, yObere linke Ecke in Pixeln.
int16_tw, hBreite und Höhe des Bildes in Pixeln.
uint8_tcOptional. Standardwert ist 1.
uint8_tbgOptional. Standardwert ist 0xFF.
display.display(bool _leaveOn = 0)returns void

Sendet 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

→