2013-05-16 41 views
1

所以現在我有一些代碼可以創建一個大的圖像,我們可以編寫一些單獨的圖像(GD PHP)。寫文本,然後根據文本的Y軸終點軸編寫背景圖像PHP

至於現在我有寫的背景...

imagefilledrectangle($comp, 20, 20, 760, $descriptionHeight+900, $grey); 

然後寫的文字...

imagettftext($variable, $font, 0, 350, 105, $color, $type, "Location: $city, $state"); 

問題是,有一堆文字的書寫和背景高度會根據是否有文本要寫入而有所不同。我保持一個動態的Y軸變量,所以當所有的文字完成寫作我有文字的終點。

有沒有辦法在所有的文本被寫入主圖像後編寫一個bg?如果不是那裏有理想的解決方案來完成動態背景?

任何幫助或想法,將不勝感激。

感謝,

+0

它會在假定最大高度的情況下繪製背景,編寫文本然後裁剪圖像以截斷不需要的東西? – Orangepill

+0

@Orangepill不知道我會怎麼做。現在我有一個函數來獲取文本的維度並返回一個y變量。但我必須爲5個不同的部分做這件事,似乎冗餘編碼爲每個部分做功能。 – barrettathome

+0

你可以發佈一些目標圖像的地方...我覺得我錯過了什麼 – Orangepill

回答

0

做一次通過所有的文本和使用imagettfbbox()計算圖像的尺寸。然後創建圖像,繪製背景並再次瀏覽文本,這次實際上是在背景上繪製它們。

+0

是的,現在我有一個功能,那樣做。問題是我必須爲5個不同的部分做這件事,而這樣做似乎是多餘的。不知道是否有一個簡單的技巧,在所有圖層下編寫一個bg。 – barrettathome

+0

我認爲這可以使用ImageMagick來完成,但我從未使用它從PHP。基本上,你會用你的文字做一個透明的圖像,然後用背景創建圖像併合並兩者。 –

+0

現狀這是從一開始就正確的答案。 – barrettathome

0

所以只是爲了更新我最終做的是爲每個塊做兩個不同的功能。函數系列中的第一個函數將獲得塊的大小,然後在另一組函數中爲塊編寫bg和內容。它似乎是多餘的,但它在我的情況下效果最好,特別是因爲塊高度會根據每個塊的內容有多少而變化。

感謝您的所有想法和意見。