这是我们所有显示的核心图形库,提供了一组通用的图形原始图(点,线,圆等)。它需要与我们携带的每个显示设备(处理低级功能)配对。
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。任何奇怪的图纸功能都可以在您自己的代码中进行,并且在库上下文中无济于事。
如果您必须具有以下功能之一,请考虑创建一个带有项目所需功能的叉子...很容易与上游代码同步。