void getImage(int idx, int &width, int &height, String &text, uint16_t* img)
Ist so "falsch".

Du hast eine Funktion, die die Daten eines Bildes liefern soll. Der musst Du nicht die Daten des Bildes übergeben, die Funktion soll diese als Ergebnis irgendwo liefern.

Einfachheit halber kannst Du zunächst "height" und "width" woanders definieren, sowie die andern Variablen, die mit Inhalt gefüllt werden sollen. Nicht innerhalb der Funktion "getImage", sondern außerhalb dieser. Damit Du aus andern Funktionen drauf zugreifen kannst.


"void getImage(int idx)" wäre ausreichend.



So weit ...


MfG