首页 > 解决方案 > 将文本(字体)转换为 ABGR 缓冲区

问题描述

目的是将文本图像缓冲区作为 DLL (c++) 提供给 exe。

详细目的如下。

由于exe是用“GameMakerStudio(以下简称GMS)”制作的,所以不支持各种字体。
我想了一个办法来解决这个问题。
GMS (exe) 提供指向缓冲区(数据)和要存储在 DLL 中的文本的指针。
DLL 使用 Windows 默认字体(或设置字体)将文本转换为 RGBA 缓冲区(数据)并将其保存在指针位置。
(当然,DLL 为 GMS(exe)提供水平和垂直大小。)
我可以完成其余的过程,但我不确定如何将文本转换为 RGBA 缓冲区(数据)。

所以我想获得一些关于如何将文本(utf8)转换为 RGBA 缓冲区(数据)的建议。
-我要支持utf8。
- 我希望我能改变字体。



转换后的数据如下所示。
ABGR ABGR ABGR .... ABGR
(ABGR -> 4 字节)

例如,如果文本“ABC”如下图所示,

ABC 图像

DLL 转换为 RGBA 缓冲区(数据)并将其存储在指针中,如下所示。

FFFFFFFF FF0000FF FFFFFFFF FFFFFFFF FF00FF00 FF00FF00 FFFFFFFF FFFFFFFF FFFFFFFF FFFF0000 FFFFFFFF FF0000FF FFFFFFFF FF0000FF FFFFFFFF FF00FF00 FFFFFFFF FF00FF00 FFFFFFFF FFFF0000 FFFFFFFF FFFF0000 FF0000FF FF0000FF FF0000FF FFFFFFFF FF00FF00 FF00FF00 FFFFFFFF FFFFFFFF FFFF0000 FFFFFFFF FFFFFFFF FF0000FF FFFFFFFF FF0000FF FFFFFFFF FF00FF00 FFFFFFFF FF00FF00 FFFFFFFF FFFF0000 FFFFFFFF FFFF0000 FF0000FF FFFFFFFF FF0000FF FFFFFFFF FF00FF00 FF00FF00 FFFFFFFF FFFFFFFF FFFFFFFF FFFF0000 FFFFFFFF

我得到了谷歌翻译的帮助。
我不知道我的意图是否传达得当。

标签: c++text

解决方案


推荐阅读