這是我們所有顯示的核心圖形庫,提供了一組通用的圖形原始圖(點,線,圓等)。它需要與我們攜帶的每個顯示設備(處理低級功能)配對。
Adafruit投資了提供此開源代碼的時間和資源,請通過從Adafruit購買產品來支持Adafruit和開源硬件!
由Limor Fried/Ladyada為Adafruit Industries撰寫。 BSD許可證,請檢查許可證.txt以獲取更多信息。上面的所有文本必須包含在任何重新分佈中。
最近的Arduino IDE版本包括庫經理,可輕鬆安裝。否則,要下載,請單擊“下載zip”按鈕,取消壓縮並重命名未壓縮文件夾adafruit_gfx。確認ADAFRUIT_GFX文件夾包含adafruit_gfx.cpp和adafruit_gfx.h。放置Adafruit_gfx庫文件夾您的arduinosketchfolder/ libraries/ folder。如果您的第一個庫,則可能需要創建庫子文件夾。重新啟動IDE。
您還需要安裝最新的Adafruit Busio庫。在圖書館經理中搜索“ Adafruit Busio”,或者從https://github.com/adafruit/adafruit_busio手工安裝
Image2Code:這是一個方便的Java GUI實用程序,可將BMP文件轉換為使用DrawBitMap函數顯示圖像所需的數組代碼。在Ehubin的GitHub存儲庫中查看代碼:https://github.com/ehubin/adafruit-gfx-library/tree/master/master/img2code
drawxBitmap函數:您可以使用GIMP照片編輯器保存.xbm文件,並使用保存在文件中的數組使用drawxbitmap函數繪製位圖。有關更多詳細信息:#31,請參閱此處的拉請請求
“字體”文件夾包含可與最近(1.1和更高版本)ADAFRUIT_GFX一起使用的位圖字體。要在您的Arduino草圖中使用字體,請#include對應的.h文件和GFXFont Struct的通信地址到SetFont()。通過NULL將其恢復為“經典”固定空間位圖字體。
“ FontConvert”文件夾包含一個命令行工具,用於將TTF字體轉換為ADAFRUIT_GFX標頭格式。
您還可以使用此GFX字體自定義器工具(此處的Web版本)來自定義或糾正FontConvert的輸出,並僅使用字符子集創建字體來優化大小。
主要指令是保持與現有Arduino草圖的向後兼容性 - 許多人託管在其他地方,在這裡不跟踪更改,有些在印刷中,永遠無法更改!這個“小”圖書館隨著時間的流逝而有機地生長,有時我們將自己描繪成一個設計角,只需要與之相處,或者逐漸添加更加不重要的解決方法。
我們感謝每個人的貢獻,但是將不會合併以下內容:
附加或不兼容的字體格式(請參見上面的Prime指令)。已經有兩種格式,並且代碼在那裡很膨脹。這也為工具和文檔創造了負債。沒有完美的東西,但它可以完成工作。
出於類似原因,其他或不兼容的位圖格式。它變得凌亂了。
將背景顏色添加到自定義字體中以刪除先前的屏幕內容。唯一可以接受的方法是用填充的矩形清除區域,或(避免閃爍)將文本繪製到gfxcanvas1中,然後用drawbitmap()w/background顏色複製到屏幕上。這是故意和設計的。我們已經討論了這個。字形可以重疊。
滾動,無論是基於硬件還是基於軟件。這樣的實現傾向於依賴於特定於硬件的功能(不普遍可用),閱讀訪問屏幕框架的訪問權限(同上)和/或在GFX中添加虛擬功能,必須在每個子類中添加它們,其中很多。目前,GFX API在很大程度上是“設置”的,這只是我們現在所生活的一個限制。
為了重新格式化,請不要重新格式化代碼。由此產生的大型“視覺差異”使得無法從僅重新排列的線條上解開實際錯誤修復。 Clang-Format將是最終的仲裁者。
請不要再繪製Pentagram繪製PR。任何奇怪的圖紙功能都可以在您自己的代碼中進行,並且在庫上下文中無濟於事。
如果您必須具有以下功能之一,請考慮創建一個帶有項目所需功能的叉子...很容易與上游代碼同步。