2009-08-20 65 views
5

玉以及继承人我想在PHP做什么:动态生成一个词云?

http://www.wordle.net/

我知道该怎么做所有的GD(写在画布上),我的问题是实际上,要让不同的轨道逻辑并将它们正确放置在空白的画布上。如果有人知道一个好的网站,有一些资源,可以带领我在正确的方向我会永远爱你!

回答

2

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

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

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

编辑

谢谢,马丁瓦滕伯格,为的只是扔 中心思想:您还可以通过采取看看credits,例如学到很多(也许contact the developer)在 屏幕上的东西,直到它适合。我提出我的 玻璃的哲学是“ 最愚蠢的可行的事情”。

还有更多...

0

这里是tutorial的链接,它使用jQuery和CSS来完成大部分工作 - 尽管如果将数据存储在数据库中(如本教程假设的那样),您需要php传递这些值。

+0

那是一个基本的词云,我说的是实际编写文本到画布像他们这样做。 – 2009-08-21 17:49:21