今天仔細研究了下GD的一些相關技術,順手也研究下GD中文亂碼的問題。
使用GD庫輸出中文字符串,調用imagestring是沒有用的。需要使用imagettftext()函數。imagettftext函數的具體使用就參考手冊啦。
下面給個使用實例:
$pic=imagecreate(250,30);
$black=imagecolorallocate($pic,0,0,0);
$white=imagecolorallocate($pic,255,255,255);
$font="C://WINDOWS//Fonts//simhei.ttf"; //這裡的路進需要注意下,必須是字符的路徑
$str ='php'.iconv('gb2312','utf-8','面對對象')." www.phpobject.net";
imagettftext($pic,10,0,10,20,$white,$font,$str);
前面我給出一個簡單的GD水印實例,只舉例說明了使用圖片如何水印的,這裡給出一個文字水印的簡單代碼。
<?php
$pic=imagecreate(250,30);
$black=imagecolorallocate($pic,0,0,0);
$white=imagecolorallocate($pic,255,255,255);
$font="C://WINDOWS//Fonts//simhei.ttf";
$str ='php'.iconv('gb2312','utf-8','面對對象')." www.phpobject.net";
imagettftext($pic,10,0,10,20,$white,$font,$str);
header("Content-type: image/jpeg");
$filename='../src/images/photo.jpg';
$im=imagecreatefromjpeg($filename);
imagecopymerge($im,$pic,0,0,0,0,250,30,50);
imagejpeg($im);
?>