在PHP中创建一个将自身大小调整为文本大小的图像

在PHP中创建一个将自身大小调整为文本大小的图像,php,gd,Php,Gd,我正在尝试用PHP动态创建一个包含一些文本的图像。我遇到的问题是,我所看到的每一种方法都是从以下方面开始的: 图像创建($h,$w) 然后将文本绘制到图像。我想让图像的大小围绕文本。最好是,我也希望有一个最大宽度,文本将换行,图像将向下“扩展”,但我想我可以自己解决这个问题。我(显然)没有太多的php gd经验,所以任何能为我指明正确方向的帮助都将不胜感激 所以在进一步挖掘之后,我找到了imagefontwidth(和height)。使用这些,我可以计算字符串的大小,并相应地设置图像大小。谢谢您

我正在尝试用PHP动态创建一个包含一些文本的图像。我遇到的问题是,我所看到的每一种方法都是从以下方面开始的: 图像创建($h,$w)


然后将文本绘制到图像。我想让图像的大小围绕文本。最好是,我也希望有一个最大宽度,文本将换行,图像将向下“扩展”,但我想我可以自己解决这个问题。我(显然)没有太多的php gd经验,所以任何能为我指明正确方向的帮助都将不胜感激

所以在进一步挖掘之后,我找到了imagefontwidth(和height)。使用这些,我可以计算字符串的大小,并相应地设置图像大小。谢谢您的建议。

您可以在呈现的HTML中使用CSS样式,作为使用GD的替代方法:

background-size: contain;
将使背景图像适合内容,同时保持图像的纵横比


您必须根据字体类型和大小,找到一个“预测”文本大小的指标,这不是一项容易的任务。确定你不能简单地通过css修改现有的图像吗?如果你真的想创建一个“图像”,那么最好的方法可能是选择矢量格式。这比光栅格式具有更大的灵活性。阅读:看看SVG图形。或者。。。你知道的。。。只需使用HTML和CSS根据其容器来调整文本的大小和样式。对于某些上下文,我需要它是一个图像,因为我让一些学生键入SQL查询。在N次尝试失败后,我想向他们展示答案,但仍然要求他们输入答案。显然,如果我只是显示文本,他们可以复制和粘贴。