Dies ist die Kerngrafikbibliothek für alle unsere Displays und bietet einen gemeinsamen Satz von Grafikprimitiven (Punkte, Linien, Kreise usw.). Es muss mit einer hardwarespezifischen Bibliothek für jedes von uns getragene Anzeigegerät (um die Funktionen auf niedrigerer Ebene) kombiniert werden.
Adafruit investiert Zeit und Ressourcen, die diesen Open-Source-Code bereitstellen. Bitte unterstützen Sie Adafruit- und Open-Source-Hardware, indem Sie Produkte bei Adafruit kaufen!
Geschrieben von Limor Fried/Ladyada für Adafruit Industries. BSD -Lizenz, lizenz.txt für weitere Informationen. Der gesamte Text oben muss in jeder Umverteilung enthalten sein.
Zu den jüngsten Arduino -IDE -Veröffentlichungen gehört der Bibliotheksmanager für eine einfache Installation. Andernfalls klicken Sie zum Herunterladen auf die Schaltfläche Reißverschluss herunterladen, unkontrolliert und benennen Sie den unkomprimierten Ordner adafruit_gfx um. Bestätigen Sie, dass der Ordner adafruit_gfx adafruit_gfx.cpp und adafruit_gfx.h enthält. Platzieren Sie den Ordner adafruit_gfx Library Ihr Arduinosketchfolker/ Bibliotheken/ Ordner. Möglicherweise müssen Sie den Unterordner der Bibliotheken erstellen, wenn es sich um Ihre erste Bibliothek handelt. Starten Sie die Ide neu.
Sie müssen auch die neueste Adafruit -Busio -Bibliothek installieren. Suchen Sie im Bibliotheksmanager nach "Adafruit Busio" oder installieren
Image2Code: Dies ist ein praktisches Java -GUI -Dienstprogramm, mit dem eine BMP -Datei in den Array -Code umgewandelt werden muss, um das Bild mit der DrawbitMap -Funktion anzuzeigen. Schauen Sie sich den Code in Ehubins Github-Repository an: https://github.com/ehubin/adafruit-gfx-library/tree/master/img2code
DRAGXBITMAP -Funktion: Mit dem GIMP -Foto -Editor können Sie eine .xbm -Datei speichern und das in der Datei gespeicherte Array verwenden, um eine Bitmap mit der DRAGXBitMap -Funktion zu zeichnen. Weitere Informationen finden Sie in der Pull -Anfrage: #31
Der Ordner "Schriftarten" enthält Bitmap -Schriftarten zur Verwendung mit den letzten (1.1 und später) adafruit_gfx. Um eine Schriftart in Ihrer Arduino -Skizze zu verwenden, #include die entsprechende .H -Datei und übergeben Sie die Adresse von GFXFONT struct an setfont (). Pass null, um zu 'klassischer' Bitmap-Schriftart mit festem Raum zurückzukehren.
Der Ordner "FontConvert" enthält ein Befehlszeilen-Tool zum Konvertieren von TTF-Schriftarten in das Header-Format adafruit_gfx.
Sie können auch dieses GFX -Schriftart -Customer -Tool ( Webversion hier ) verwenden, um die Ausgabe von FontConvert anzupassen oder zu korrigieren und Schriftarten nur mit einer Teilmenge von Zeichen zu erstellen, um die Größe zu optimieren.
Die Hauptrichtlinie besteht darin, die Rückwärtskompatibilität mit vorhandenen Arduino -Skizzen aufrechtzuerhalten - viele werden an anderer Stelle gehostet und verfolgen hier keine Änderungen, einige sind gedruckt und können nie geändert werden! Diese "kleine" Bibliothek ist im Laufe der Zeit organisch gewachsen und manchmal malen wir uns in eine Design -Ecke und müssen einfach damit leben oder zunehmend unhandliche Problemumgehungen hinzufügen.
Wir sind dankbar für die Beiträge aller, aber die Anfragen für Folgendes werden nicht zusammengeführt:
Zusätzliche oder inkompatible Schriftformate (siehe Prime -Richtlinie oben). Es gibt bereits zwei Formate und der Code ist dort so aufblühend wie er ist. Dies schafft auch Verbindlichkeiten für Tools und Dokumentation. Was gibt es nicht perfekt, aber es macht den Job.
Zusätzliche oder inkompatible Bitmap -Formate aus ähnlichen Gründen. Es wird chaotisch.
Hinzufügen von Hintergrundfarbe zu benutzerdefinierten Schriftarten, um vorherige Bildschirminhalte zu löschen. Die einzigen akzeptablen Methoden besteht darin, den Bereich mit einem gefüllten Rekt zu löschen oder (um Flackern zu vermeiden) Text in eine GFXCanvas1 zeichnen und mit DrawbitMap () mit Hintergrundfarbe auf den Bildschirm kopieren. Dies ist absichtlich und nach Design. Wir haben das besprochen. Glyphen können sich überlappen.
Scrollen, ob Hardware- oder Software-basiert. Solche Implementierungen stützen sich in der Regel auf hardwarespezifische Funktionen (nicht allgemein verfügbar), den Lesezugriff auf den Framebuffer (Ditto) des Bildschirms und/oder die Hinzufügung virtueller Funktionen in GFX, die in jeder Unterklasse hinzugefügt werden müssen, von denen es viele gibt. Die GFX -API ist zu diesem Zeitpunkt größtenteils "eingestellt" und dies ist nur eine Einschränkung, mit der wir jetzt leben.
Bitte formatieren Sie den Code nicht, um Code neu formatieren zu können. Der resultierende große "visuelle Diff" macht es unmöglich, tatsächliche Fehlerbehebungen von lediglich neu ordneten Linien zu entwirren. Clang-Format wird der letzte Schiedsrichter sein.
Bitte nicht mehr Pentagramm-Drawing-PRS. Alle seltsamen Zeichenfunktionen können in Ihrem eigenen Code eingehen und sind in einem Bibliothekskontext nicht hilfreich.
Wenn Sie eine dieser Funktionen haben müssen , erstellen Sie eine Gabel mit den für Ihr Projekt erforderlichen Funktionen. Es ist einfach, mit dem vorgelagerten Code synchronisiert zu bleiben.