我可以通过 imagettftext() 使用可变字体的功能吗?

Posted

技术标签:

【中文标题】我可以通过 imagettftext() 使用可变字体的功能吗?【英文标题】:Can I use the capabilities of a variable font with imagettftext()? 【发布时间】:2020-12-10 08:12:59 【问题描述】:

使用 gd2 库时,我可以加载可变字体

imagettftext($image, 24, 0, 10, 100, $black, __DIR__.'/Some-VariableFont.ttf', 'Hello, World!');

但我不知道如何设置重量或宽度等属性。

有可能吗?如果是怎么办?

【问题讨论】:

在“调整大小”到特定的高度和宽度方面?第二个参数“24”是字体大小,所以你需要更多的控制?您可以预渲染,然后根据需要调整大小。 “重量”可能只是字体的不同版本。 我有这种字体的静态版本,但我想随机更改字体粗细(因此以编程方式)。出于显而易见的原因,我不想为每个重量都有 TTF 文件。但请随意将您的评论转化为答案:我在问“这可能吗?” “否”是一个合理的答案,特别是如果您提供替代方案。 当然有可能。例如,您可以通过在 1-D 或 2-D 范围内重复绘制文本来制作“权重”。 .... 设置宽度和高度的术语,我的意思是将文本绘制到另一个图像缓冲区,然后根据您的需要调整“直线”的大小。 也许this answer 应该有帮助 不,我的文字已显示,但我想更改其重量…… 【参考方案1】:

FreeType 有 variable font support,但 GD 没有提供 API 来使用它,所以答案是“否”。

【讨论】:

这可能是你赢得的最简单的积分,不是吗?我应该问“我该怎么做?”而不是“我可以这样做吗”。对我来说太糟糕了,对你来说是好事!

以上是关于我可以通过 imagettftext() 使用可变字体的功能吗?的主要内容,如果未能解决你的问题,请参考以下文章

文本的原点:imagettftext

即使在激活 GD 库后,imagettftext() 也无法正常工作

使用多行的 imagettftext 函数?

将imagettftext GD修改为Imagick

PHP 通过 imagettftext() 为图片添加水印

PHP GD imagettftext 测量