我有一个数组中的单词列表,我可以使用 imagettftext 将其写入 PNG。
imagettfbbox 被用来确定下一个单词应该去哪里。
我想检查我正在尝试写入图像的当前单词是否会与已经写入的前一个单词重叠(我假设 imagettfbbox 是要走的路?)
以下是我假设代码的样子(我无法理解如何做到这一点!):
If the current word will overlap with previous word
Position current word further down an ever increasing spiral until it doesn't collide
目前我的代码会将所有单词写入图像而不重叠但没有任何角度(这是我希望它在未来处理的东西 - 没有单词冲突)
$handle = ImageCreate(1000, 500) or die ("Cannot Create image");
//Background Colour
$bg_color = ImageColorAllocate($handle, 0, 150, 255);
$txt_color = ImageColorAllocate($handle, 0, 0, 0);
// First we create our bounding box for the first text
$bbox = imagettfbbox($fontsize, $angle, $font, $word);
// Set X Coord
$x = ($bbox[2] - $bbox[0]);
// Set Y Coord
$y += ($bbox[7] - $bbox[1]);
// Write word to image
ImageTTFText($image, $fontsize, $angle, $x, $y, $txt_color, $font, $word);
正如你所看到的,这段代码目前是相当静态的,也不会将文字限制在图像的大小中(也是我想要的)。
任何帮助将不胜感激,过去两周我一直坚持这一点,真的很想继续前进!