程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> 在圖片中加入文字

在圖片中加入文字

編輯:PHP綜合

    有時侯特想在一幅圖片中加入自己的文字,不管是表明所有權,還是為了使圖片更加生動,總之有時這種欲望特別強烈。於是找了一些資料,但是就象平時一樣,沒有什麼特別的驚喜,不是資料看不明白(我懷疑作者本身就沒有試過),就是不能正常執行。不過對這些早有心理准備,於是在殘缺資料的基礎上,又參閱了PHP的幫助文擋,終於成功,費了老鼻子勁了。

    在這裡聲明,PHP必須支持GD2函數才可以實現此功能。舉個例子:

<?PHP

$image=imagecreatefromjpeg("test.jpg"); //取得源文件

$colorred=imagecolorallocate($image,255,0,0); //獲得字體顏色

imagestring($image,2,50,5,"my car",$colorred); 

//在源文件$image上用$colorred顏色,在x=50,y=5的地方開始用2大小的字體寫上"my car"

imagejpeg($image,"test1.jpg"); //把圖片輸出到test1.jpg

?>

    顯示效果如圖:

    還不錯吧,代碼看起來也簡單吧,當時我可是做了很多實驗才捉摸出來的,看PHP幫助文檔也真是費勁。

    大家注意了,上面的例子寫出的文字用的是默認的字體,如果想用自己的字體,就要用 imagettftext()函數了。如下:

<?PHP

$font="C:\Windows\Fonts\ROCKEB.TTF";$text="my car";

$image=imagecreatefromjpeg("test.jpg");

$colorred=imagecolorallocate($image,255,0,0);

imagettftext($image,6,0,10,10,$colorred,$font,$text);

//在$image上的(10,10)的地方開始用6大小,$font字體,$colorred顏色,從左到右(0),寫上$text

imagejpeg($image,"test2.jpg");

?>

    結果如圖: 

    例子中$font中定義的就是自己的字體,字體可以在Windows\fonts下查找。然後定義好路徑就行了,相關函數其它參數請自己查看PHP幫助文檔吧。

    再多說一句,函數 imagecolorallocate($image,255,0,0)中的三個數字是一種顏色的數值。具體可以利用Photoshop來獲得所需顏色的數值。

    還有一點,我用imagettftext()函數向圖片上寫漢字一直沒有成功,$font設置成中文字庫後,圖片上什麼也沒有寫上,如果字庫是英文字庫,就寫上了一些亂碼,不知為何。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved