2011-12-06 38 views
0

我在使用Google地圖時遇到了一些項目問題。PHP動態圖像具有不需要的邊框

我有地圖功能都算出來了,而且效果很好。我想將動態生成的圖標添加到地圖中,並且我已經想出瞭如何使用PHP將我想要的文本動態添加到圖標圖像。

但是,圖標超出了我想添加的文本。當PHP代碼中沒有任何內容應該做這樣的事情時,原始邊界變得更厚。我附加到這篇文章的圖像顯示了兩個圖標。頂部的圖標是原始圖標,最下面的圖標是我的PHP腳本添加的文本。注意較粗的邊框。

screenshot

這裏是我的PHP代碼:

<?php 
// GETS THE NUMBER TO ADD TO THE ICON 
$number = $_GET['number']; 

// THE SOURCE OF THE ICON THAT I WANT TO ADD THE TEXT TO 
$src = $_GET['src']; 

header ("Content-type: image/png"); 

$font = 4; 
$im = imagecreatefrompng($src); 

// POSITION THE TEXT TO THE PREFERRED LOCATION 
$x = 5 ; 
$y = 2; 

$textColor = imagecolorallocate ($im, 0, 0,0); 
imagestring ($im, $font, $x, $y, $number, $textColor); 
imagepng($im); 
?> 

請記住,所有這一切工作,除了圖像被改變不僅僅是添加文本。沒有真正厚的邊框,圖標看起來更漂亮。

回答

2

我不確定如果是這種情況,但如果您的初始圖像在邊距處使用透明度以獲得圓角效果,可能會導致類似情況。如果你想保持初始圖像的透明度,你還需要研究其他功能。這樣的事情應該有所幫助:

imagealphablending($im, false); 
imagesavealpha($im, true); 

* imagecreatefrompng

+0

哇,你真是個天才之後吧!它像一個魅力。沒想到解決方案會那麼簡單。那麼今天我學到了一些新東西。謝謝!! –

+0

@SherwinFlight歡迎您,我很高興它有幫助 – mishu