我确实发现了与此类似的主题,但我不知道解决方案是否相同。所以这是我的问题:
我正在使用GD函数来制作网页卡生成程序。问题是卡的后台是由$image = imagecreatefrompng();
函数生成的。这张卡还需要一个$cardname
作为"标题"和一个$desription
作为描述。为此,我使用了imagettftext();
函数。但是有一个问题,卡片的大小是 333x485,我需要调整文本大小以适应背景而不调整其高度,而只是宽度!
更切中要害的是,$cardname
应该有 width = 240
和 height = 34
,但如果它不适合,它会脱离背景,我需要一个函数来调整其宽度以适应 240px 并将高度始终保留为 34px!
要了解更多,请查看此处: http://yugiohcardmaker.net.在"名称"中,您可以添加任意数量的文本,它将始终适合并具有正确的宽度和高度!
我不会尝试编写代码,因为它会花费太长时间,但这是基本过程:
-
使用 imagettfbbox() 获取文本边界框的大小;
-
使用 imagecreatetruecolor() 创建一个新图像;
-
使用 imagettftext() 将文本写入新图像中;
-
使用 imagecopyresampled() 将带有文本的新图像复制到现有卡片中,设置参数以缩小宽度而不是高度。
注意:imagettfbbox())
返回的边界框参数可能很麻烦您还需要注意 alpha 混合和背景颜色,以确保仅复制文本像素。
祝你好运!