| 導購 | 订阅 | 在线投稿
分享
 
 
 

PHP創建(中/英文字)圖片

來源:互聯網  2008-12-22 08:07:15  評論

這個PHP代碼是我做的一個程序的一部分,現在貼出來分享一下。這個代碼的功能是創建一個圖片,不但可以用自定義字體在圖片上寫英文,也可以寫中文了!這個代碼適用于驗證碼、給圖片加水印等功能。

<?php

/*

Photozero.net 改編自PHP參考文檔

*/

//設置Header,如果輸出圖片不成功,請先暫時去掉這代碼,查看錯誤信息

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

header("Cache-Control: no-cache");

$zh_text = '黑體';

$en_text = 'Test';

//要輸出的字

$zh_font = 'simhei.ttf';

$en_font = 'arial.ttf';

//字庫的文件名。建議中文字體和E文字體用不一樣的,因爲宋體、黑體字庫裏的英文實在不咋滴

//這裏用的都是TTF字體。懶得上網找就到 C:\WINDOWS\Fonts 下,Copy幾個字體到程序目錄下就好了

// 創建一個真彩的圖片背景,參數是 X長 ,Y寬。

$im = imagecreatetruecolor(400, 400);

//或者可以調用已有的PNG圖片等 : $im = imagecreatefrompng('background.png');

// 定義幾個色彩

$white = imagecolorallocate($im, 255, 255, 255);

$grey = imagecolorallocate($im, 128, 128, 128);

$black = imagecolorallocate($im, 0, 0, 0);

//填充背景爲白色

imagefill($im, 0, 0, $white);

//將背景透明化

imagecolortransparent($im,$white);

//以上兩行是創建透明圖片的關鍵!

//很多人反應, imagecreatetruecolor創建後的圖片,背景顔色是黑的,無論怎麽修改都不能變成白色的

//我先將背景填充爲白色,再做透明處理就可以了!在Firefox3和IE7下測試成功!

// 這是一個很簡單的産生陰影的效果。

//先在原本要輸出的位置的偏左下角一點點輸出灰色的字體,接著再用黑色字體寫上去就有陰影效果了

//下次再提供點別的花樣~

//imagettftext($im, 20, 0, 11, 21, $grey, $en_font, $en_text);

// 寫入字體

imagettftext($im, 12, 0, 100, 120, $black, $en_font, $en_text);

imagepng($im);

imagedestroy($im);

// 不用說了,輸出圖片,然後清除緩存

//函數都是用PHP內置的,如果有不了解的請參考一下文檔。

?>

整個代碼的功能是比較單一的,但這是一個創建圖片比較基本的框架。無論是做驗證碼還是要提供顯示IP的服務,只要略微修改就很快能用了。就留著這代碼備用吧,以後哪天說不定就用上了。

這個PHP代碼是我做的一個程序的一部分,現在貼出來分享一下。這個代碼的功能是創建一個圖片,不但可以用自定義字體在圖片上寫英文,也可以寫中文了!這個代碼適用于驗證碼、給圖片加水印等功能。 <?php /* Photozero.net 改編自PHP參考文檔 */ //設置Header,如果輸出圖片不成功,請先暫時去掉這代碼,查看錯誤信息 header("Content-type: image/png"); header("Cache-Control: no-cache"); $zh_text = '黑體'; $en_text = 'Test'; //要輸出的字 $zh_font = 'simhei.ttf'; $en_font = 'arial.ttf'; //字庫的文件名。建議中文字體和E文字體用不一樣的,因爲宋體、黑體字庫裏的英文實在不咋滴 //這裏用的都是TTF字體。懶得上網找就到 C:\WINDOWS\Fonts 下,Copy幾個字體到程序目錄下就好了 // 創建一個真彩的圖片背景,參數是 X長 ,Y寬。 $im = imagecreatetruecolor(400, 400); //或者可以調用已有的PNG圖片等 : $im = imagecreatefrompng('background.png'); // 定義幾個色彩 $white = imagecolorallocate($im, 255, 255, 255); $grey = imagecolorallocate($im, 128, 128, 128); $black = imagecolorallocate($im, 0, 0, 0); //填充背景爲白色 imagefill($im, 0, 0, $white); //將背景透明化 imagecolortransparent($im,$white); //以上兩行是創建透明圖片的關鍵! //很多人反應, imagecreatetruecolor創建後的圖片,背景顔色是黑的,無論怎麽修改都不能變成白色的 //我先將背景填充爲白色,再做透明處理就可以了!在Firefox3和IE7下測試成功! // 這是一個很簡單的産生陰影的效果。 //先在原本要輸出的位置的偏左下角一點點輸出灰色的字體,接著再用黑色字體寫上去就有陰影效果了 //下次再提供點別的花樣~ //imagettftext($im, 20, 0, 11, 21, $grey, $en_font, $en_text); // 寫入字體 imagettftext($im, 12, 0, 100, 120, $black, $en_font, $en_text); imagepng($im); imagedestroy($im); // 不用說了,輸出圖片,然後清除緩存 //函數都是用PHP內置的,如果有不了解的請參考一下文檔。 ?> 整個代碼的功能是比較單一的,但這是一個創建圖片比較基本的框架。無論是做驗證碼還是要提供顯示IP的服務,只要略微修改就很快能用了。就留著這代碼備用吧,以後哪天說不定就用上了。
󰈣󰈤
王朝萬家燈火計劃
期待原創作者加盟
 
 
 
>>返回首頁<<
 
 
 
 
 熱帖排行
 
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有