假设我在RAM中制作了2D阵列。是否有任何可简化直接绘制到我的数组的库(与将文本绘制到屏幕或VRAM中的渲染目标相对)?

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

我对C++还是比较陌生,所以它必须很简单。

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

最佳答案

FreeType是获得类BSD许可的跨平台开源库,可呈现多种字体类型(包括TrueType和OpenType),并且可以在所有主要操作系统上使用。

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

关于c++ - 简单的方法从带有字体的字符串中获取像素数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15966559/

10-09 06:37
查看更多