从字符串中获取像素数据的简便方法

时间:2013-04-12 08:29:42

标签: c++ fonts

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

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

我对C ++比较陌生,但它需要很简单..

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

1 个答案:

答案 0 :(得分:1)

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

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