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

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

編輯:關於PHP編程

這個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:WINDOWSFonts 下,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的服務,只要略微修改就很快能用了。就留著這代碼備用吧,以後哪天說不定就用上了。

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