我在facebook上拥有一些粉丝,我发布了包含有趣文字的图片(如下例所示)。在所有页面中,我使用相同的文本,但使用不同的背景图像。背景的大小始终相同。只有颜色变化。由于我必须单独使用不同的背景保存每张图片,我现在正在尝试创建一个小脚本,允许我将具有不同背景的创建文本存储为jpg或png文件。以下是我想象的过程:
答案 0 :(得分:0)
我不确定是否有办法在PHP中进行此类图像生成。你把它标记为Javascript所以我假设你有一个前端。
我即将推荐类似FitText.js的内容,但为了将您的工作保存为图片文件,您需要使用Canvas API。它有一个toDataUrl('image/jpeg')
方法。
您可以使用canvasCtx.drawImage
创建图像背景。一个canvasCtx.strokeRect
来创建一个有边框的矩形。并canvasCtx.fillText
绘制文字。
使文本适合容器
画布中有一个方法可以测量文本在当前字体大小上占用的空间大小。但是,当有可用的垂直空间时,不会将文本换行,而是将其全部放在一行上。一个更好的解决方案是在<textarea>
或多个<input>
中拥有固定的字体大小和多行,允许您按照以下堆栈溢出线程中的讨论来拟合文本:
将图像保存到文件
查看此主题:Save canvas as jpg to desktop
老实说,经过所有这些,我说在你使用的任何照片编辑器中设置一点点自动化会更容易。例如,Photoshop中的模板PSD。