如何将字体文件集成(硬编码)到我的程序中
How to integrate (hardcode) a font file into my program?
我目前正在将我的图像硬编码到C++程序中,作为一个结构(可以使用GIMP创建带有像素数据的源代码),如下所示:
static const struct {
unsigned int width;
unsigned int height;
unsigned int bytes_per_pixel;
unsigned char pixel_data[16 * 16 * 4 + 1];
} my_icon = {
16, 16, 4,
"...", pixel data here
};
这一切都很顺利,我很高兴!但现在我想对我正在使用的字体文件做同样的操作。
由于GIMP为我进行了转换,但显然无法为我转换字体,我现在陷入了困境,不知道如何像处理图像一样对字体.ttf进行硬编码。
如果它有任何相关性,这就是我目前加载字体文件的方式:
sf::Font font;
if (!font.loadFromFile("font.ttf")) {
std::cout << "Could not load font" << std::endl;
return -1;
}
有人能帮帮我吗?(字体大小小于25 KB,所以没有问题)
谢谢!!
Font似乎有一个很好的loadFromMemory
方法。因此,您可以像前面的示例一样使用它,以字符串文本形式显示数据并将其传递出去。
编写一个程序,将二进制文件转换为类似于\xHH hexdump的适合包含的格式并不困难。
好吧,这是我的解决方案:
我使用了Bin2h工具(http://www.deadnode.org/sw/bin2h/)创建以下代码:
unsigned int fontSize = 22256;
unsigned char fontChar[] = {
0x00,0x01,0x00,...
};
然后我使用
font.loadFromMemory(fontChar, fontSize)
以加载字体。
相关文章:
- 我的神经网络不起作用 [XOR 问题]
- 如何修复我的编码,刚开始使用字符串
- 合成错误不知道为什么会发生这种情况,请检查一下并告诉我这是我的编码还是视觉工作室
- "如何用我的编码给面试官留下深刻印象?我可以在我为题材写的代码中采用哪些做法来打动面试官?
- 为什么我在有关文件编码格式的QT代码中获得了混乱的代码
- 为什么我的角色在编码设置为 0 度时以 45 度角生成?
- 我的源字符串使用哪种编码
- 为什么我的编码出现错误无法在函数 main 中将 int 转换为 int *
- 如何与SQL Server 2008建立稳定的连接,并在C 中编码我的第一个CRUD操作
- 需要一种将我的Huffman树写入我的编码的方法
- 在我的switch语句完全执行之前,我的while循环进入第二次迭代,我用c ++编码
- 我的代码在在线评判上获得了 TLE(超出时间限制),即使我已经根据社论进行了编码
- 在我的文本编码器程序中找不到错误
- 我有问题与这个编码相关的找到轮廓
- 简单的编码我仍然无法弄清楚
- 将LLVM添加到我的Cmake项目中:为什么LLVM的Cmake文件中有硬编码路径?
- 如何将字体文件集成(硬编码)到我的程序中
- 我的编码有什么问题吗
- VBA找不到我的DLL,尽管硬编码的位置
- 我想我试图在我的变量中传递错误的数据?里面的新手编码器