很多人不瞭解 php(做為現在的主流開發語言) 可以產生非HTML的資料.這是對產生影像圖非常有用的.可以從 database 產生一個簡單的廣告橫圖或更簡單隻產生一個圖形按鈕 .
我用 TTF 字型在以下的范例中
我通常取名作 button.php(做為現在的主流開發語言)3:
#######################################################
—–button.php(做為現在的主流開發語言)3——
<?
Header(“Content-type: image/gif”);
if(!isset($s)) $s=11;
$size = imagettfbbox($s,0,”fonts/TIMES.TTF”,$text);
$dx = abs($size[2]-$size[0]);
$dy = abs($size[5]-$size[3]);
$xpad=9;
$ypad=9;
$im = imagecreate($dx+$xpad,$dy+$ypad);
$blue = ImageColorAllocate($im, 0x2c,0x6D,0xAF);
$black = ImageColorAllocate($im, 0,0,0);
$white = ImageColorAllocate($im, 255,255,255);
ImageRectangle($im,0,0,$dx+$xpad-1,$dy+$ypad-1,$black);
ImageRectangle($im,0,0,$dx+$xpad,$dy+$ypad,$white);
ImageTTFText($im, $s, 0, (int)($xpad/2)+1, $dy+(int)($ypad/2), $black, “fonts/TIMES.TTF”, $text);
ImageTTFText($im, $s, 0, (int)($xpad/2), $dy+(int)($ypad/2)-1, $white, “fonts/TIMES.TTF”, $text);
ImageGif($im);
ImageDestroy($im);
?>
#######################################################
很重要一點是你不能在這檔案中放任何HTML tags.也不能有空白行在 <?和 ?> tag 之前或之後. 如果你用這段Script後看到一個不完整的影像, 表示你可能在php(做為現在的主流開發語言)標簽以外誤打瞭字元.
以上的 script 可以由此語法在網頁中叫出來: <IMG SRC=”button.php(做為現在的主流開發語言)3?s=36&text=php(做為現在的主流開發語言)+is+Cool”>
#######################################################
—-test.php(做為現在的主流開發語言)—–
<html>
<head>
<META HTTP-EQUIV=”content-type” CONTENT=”text/html; charset=gb2312″>
<title>New Page 1</title>
</head>
<body>
<IMG SRC=”button.php(做為現在的主流開發語言)3?s=36&text=php(做為現在的主流開發語言)+is+Cool”>
</body>
</html>
#######################################################
test.php(做為現在的主流開發語言)結果會像這樣: .
s 參數是設定字型大小 .
這是當 s=18 時:
註I:
字型路徑 “/fonts/TIMES.TTF” 可由windows/fonts目錄下取得 TIMS.TTF 字型檔 Copy 至你網站的目錄 fonts下即可測試 至於中文的表現 尚待各位網友提供心得
註意 我先畫瞭一個黑色方塊區再用白色位移產生 3D 效果.也陬L法在淺色背景中看出來 但你可以把背景色改為深色看看此效果. 字型也做瞭同樣效果表現立體感.
你要先確定你的安裝 php(做為現在的主流開發語言) 時有設定支援 GD 和 TTF. 可參考 php(做為現在的主流開發語言) FAQ . 我建議可以 copy libgd.a 到 /usr/local/lib 和 gd*.h 相關檔案到 /usr/local/include 然後
make install for FreeTTF library.
可以在這https://rover.wiesbaden.netsurf.de/~kikita/ 找到釵httf 字型哦!
註:
以下的原始碼改進瞭上面的弁?可多行文字顯示:
#######################################################
————–button.php(做為現在的主流開發語言)—————–
<?
Header(“Content-type: image/jpeg”);
if(!isset($bgred)) $bgred=0;
if(!isset($bggreen)) $bggreen=51;
if(!isset($bgblue)) $bgblue=153;
if(!isset($chred)) $chred=255;
if(!isset($chgreen)) $chgreen=255;
if(!isset($chblue)) $chblue=255;
if(!isset($shadow)) $shadow=”yes”;
if(!isset($wrappos)) $wrappos=20;