gpt4 book ai didi

algorithm - n 个字形的边界框,给定单独的 bboxes 和 advances

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

由于特定原因,我正在实现自己的字体渲染,并且需要一种算法来使用单个字形的边界框以及相应的 advance 来计算文本的边界框。有关说明,请参阅 this illustration :

enter image description here

对于这 N 个字形中的每一个,都给出了相对于原点的相对 bbox(xmin、xmax、ymin、ymax)和前进(伪代码):

int xmin[N], xmax[N], ymin[N], ymax[N], adv[N];

如果没有人咬我,我会自己给出答案。

最佳答案

对于一般情况,您将无法仅使用字形边界框和提前宽度来准确测量字符串,因为提示、字距调整和连字会显着修改字形的大小及其间距,具体取决于它们字符串中的位置以及所选的字体大小。

通过迭代字形并添加提前宽度和 xMin 来计算字符串长度的天真方法仅对特定大小的特定字体是正确的,如果可能则不应使用。

获取字体指标的最简单方法是使用已建立的字体渲染引擎直接获取文本的长度(如果 API 公开了该长度)或将文本渲染到表面并找到最小/最大像素X/Y方向。

关于algorithm - n 个字形的边界框,给定单独的 bboxes 和 advances,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11526627/

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