假设我在 RAM 中制作了一个二维数组。是否有任何库可以轻松直接绘制到我的数组(而不是将文本绘制到屏幕或 VRAM 中的渲染目标)?
即使我至少可以使用指定的字体获取单个字符的像素数据也会很好。
我对 C++ 比较陌生,所以它需要简单..
如果指定的字体不使用/存储位图,那么它必须为我转换它。
FreeType是一个在类 BSD 许可下的跨平台开源库,可渲染十几种字体类型(包括 TrueType 和 OpenType),适用于所有主要操作系统。
作为替代方案,您可以使用特定于操作系统的 API 将文本呈现到内存位图(可以像数组一样直接访问)。渲染到屏幕和渲染到内存位图没有区别,您只需要创建一个离屏位图图像并选择它作为目标。在 Windows 中,使用CreateDIBSection
函数;在 OS X 中,创建NSBitmapImageRep
对象或使用CGBitmapContextCreate
函数(在 iOS 中也可用)。在所有这些中,这都是一项非常容易的任务(不到 100 行代码),创建 2-4 个特定于操作系统的文件可能比采用 FreeType 更容易(尤其是如果您已经知道这些 API)。