1

假设我在 RAM 中制作了一个二维数组。是否有任何库可以轻松直接绘制到我的数组(而不是将文本绘制到屏幕或 VRAM 中的渲染目标)?

即使我至少可以使用指定的字体获取单个字符的像素数据也会很好。

我对 C++ 比较陌生,所以它需要简单..

如果指定的字体不使用/存储位图,那么它必须为我转换它。

4

1 回答 1

2

FreeType是一个在类 BSD 许可下的跨平台开源库,可渲染十几种字体类型(包括 TrueType 和 OpenType),适用于所有主要操作系统。

作为替代方案,您可以使用特定于操作系统的 API 将文本呈现到内存位图(可以像数组一样直接访问)。渲染到屏幕和渲染到内存位图没有区别,您只需要创建一个离屏位图图像并选择它作为目标。在 Windows 中,使用CreateDIBSection函数;在 OS X 中,创建NSBitmapImageRep对象或使用CGBitmapContextCreate函数(在 iOS 中也可用)。在所有这些中,这都是一项非常容易的任务(不到 100 行代码),创建 2-4 个特定于操作系统的文件可能比采用 FreeType 更容易(尤其是如果您已经知道这些 API)。

于 2013-04-12T08:36:51.833 回答