使用 GD 函数时使用 PHP 调整文本大小


text resize with php while using GD functions

我确实发现了与此类似的主题,但我不知道解决方案是否相同。所以这是我的问题:

我正在使用GD函数来制作网页卡生成程序。问题是卡的后台是由$image = imagecreatefrompng();函数生成的。这张卡还需要一个$cardname作为"标题"和一个$desription作为描述。为此,我使用了imagettftext();函数。但是有一个问题,卡片的大小是 333x485,我需要调整文本大小以适应背景而不调整其高度,而只是宽度!

更切中要害的是,$cardname应该有 width = 240height = 34 ,但如果它不适合,它会脱离背景,我需要一个函数来调整其宽度以适应 240px 并将高度始终保留为 34px!

要了解更多,请查看此处: http://yugiohcardmaker.net.在"名称"中,您可以添加任意数量的文本,它将始终适合并具有正确的宽度和高度!

我不会尝试编写代码,因为它会花费太长时间,但这是基本过程:

  1. 使用 imagettfbbox() 获取文本边界框的大小;

  2. 使用 imagecreatetruecolor() 创建一个新图像;

  3. 使用 imagettftext() 将文本写入新图像中;

  4. 使用 imagecopyresampled() 将带有文本的新图像复制到现有卡片中,设置参数以缩小宽度而不是高度。

注意:imagettfbbox())返回的边界框参数可能很麻烦您还需要注意 alpha 混合和背景颜色,以确保仅复制文本像素。

祝你好运!