c++ - 将文本(字体)转换为 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”如下图所示,
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
我得到了谷歌翻译的帮助。
我不知道我的意图是否传达得当。
解决方案
推荐阅读
- azure - Set-AzureRmAppServicePlan - 输入字符串的格式不正确
- python - Python:如果脚本在 requests.get() 执行时停止会发生什么?
- javascript - 在javascript中按下按钮时获取动态元素的值
- spring - 如何将 Spring AOP 与 Grails 3 集成
- mapreduce - 使用 Hadoop Streaming 和 MapReduce 处理来自 CommonCrawl 的许多 WARC 档案
- python - Cant Pickle 记忆类实例
- vmware-clarity - 如何为图标设置动画?
- swagger - 多级鉴别器 OpenAPI
- three.js - 如何从 threejs 调用 BufferGeometryUtils?
- jsf - JSF 在命令按钮操作后重新加载 ViewParam