gpt4 book ai didi

c - 以像素为单位的字符串宽度

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:30:41 25 4
gpt4 key购买 nike

谁能告诉我如何计算以像素为单位的字符串宽度,提供以像素为单位的字体大小?我必须在 linux 下用 C 来做吗?

最佳答案

你不能自己做,除非你有一个定点字体(每个字符总是 X 像素宽)。在那种情况下,当然总宽度 = PixelPerChar * strlen(String)。

在比例字体的一般情况下,如果字符可能彼此“靠得很近”,例如 A 和 V(一种称为“字距调整”的操作),您需要询问字体渲染库,例如libGD2.给定字体文件、大小、方向和其他参数,此类库通常会提供字符串的边界框。

使用 gdImageStringFT 的 GD2 示例:

int bbox[8]; // x,y of the rectangle bounding the text:
// see manual

gdImageStringFT(NULL, // "Tell me only"
bbox,0,
"/home/lserni/fonts/Verdana.ttf",18,
0.0,0,0,"Hello world");

if (checks on bbox OK)
{
gdImageStringFT(gdHandle, bbox, 0, ...);
}

关于c - 以像素为单位的字符串宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11410375/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com