动态生成一个词云?

时间:2009-08-20 17:38:01

标签: php math

好的,我想在PHP中做些什么:

http://www.wordle.net/

我知道如何做所有GD(写入画布),我的问题是实际跟踪不同大小的字框并正确地将它们放在空白画布上的逻辑。如果有人知道一个有一些资源可以引导我朝着正确方向发展的好网站,我会永远爱你!

2 个答案:

答案 0 :(得分:2)

您可以使用imagettfbox(另请参阅http://ruquay.com/sandbox/imagettf/)获取您创建的标记文本的画布边界 - 给定字体,旋转和大小(显然取决于出现的次数)任何给定的标签)。

从那时起,您可以开始在云画布中放置标记词(随机? - 请参阅编辑),直到所有这些词都被放置。您只需要确保它们不重叠(即您可以将像素坐标存储在数组中)。

您需要确保的另一件事是使图像画布足够大(或字体大小足够小)以容纳所有标签,因此您需要预先计算(再次使用imagettfbox)精确像素每个单词的大小,在达到所有单词可以放入图像画布的大小后,您可以使用imagettftext开始放置它们。

编辑:您还可以通过查看contact the developer了解很多(也许credits),例如:

  

谢谢Martin Wattenberg   只是扔东西的中心思想   屏幕直到它适合。我举起我的   玻璃的哲学“   最可能有用的东西。“

还有更多......

答案 1 :(得分:0)

这是一个tutorial的链接,它使用jQuery和CSS来完成大部分工作 - 尽管如果它们存储在数据库中你需要php来传递它们(正如教程所假设的那样)。 / p>