程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP之圖像處理,php圖像處理

PHP之圖像處理,php圖像處理

編輯:關於PHP編程

PHP之圖像處理,php圖像處理


PHP中提供了一些對圖像進行編輯處理的函數,其中最為典型的應用為隨機圖形驗證碼、圖片水印以及數據統計中餅狀圖和柱狀圖的生成等

 

PHP中有的圖形函數可以直接使用,但多數需要在安裝了GD2函數庫後才能使用。在Windows平台下安裝GD2庫很簡單,就是PHP5自帶的ext目錄中的php_gd2_dll文件。

如果沒有,說明安裝PHP時沒有安裝GD2庫,打開php.ini文件,查看php.ini文件(c:\winsows),查看文件中是否有一句";extension = php_gd2.dll"(Paths and Directories 裡),如果有,將其中的“;”去掉,再將文件中擴展目錄extension_dir的值設置成PHP的ext目錄所在的完整路徑,如"extension_dir = E:\php5\ext",保存後重啟Apache即可

 

繪制一個圖形一般包括4個步驟:1)創建一個背景,2)在背景中繪制圖形或輸入文本,3)輸出圖形,4)釋放所有資源

在此之前注意先將php.ini文件裡 Language Options下的output_buffering默認的off改為on,然後重啟Apache(Apache Restart),否則會出現如下的Warning:

 

Cannot modify header information - headers already sent by.....

例:繪制PNG圖形,如繪制一條直線

$image = imagecreate(400,400);//創建一個圖像,兩個參數表示圖像的寬度和高度,單位為像素,並返回此圖像的數據流
$background_color = imagecolorallocate($image,255,255,255);//為圖像設置了白色的背景流,
$black = imagecolorallocate($image,0,0,0);//為圖像設置了黑色的背景流
imageline($image,0,0,100,100,$black);//繪制一條直線,並設置其顏色為黑色
ob_clean();//清除輸出,否則圖像無法顯示
header("Content-type:image/png");//向浏覽器發送頭信息,輸出png圖片
imagepng($image);//輸出圖形
imagedestroy($image);//清除資源

 

圖像處理函數可以直接創建一個圖像流來繪制圖形,還可以將現有的圖片作為圖像流讀入,然後在次基礎上對圖像進行修飾,如加上水印效果等。這種功能常用來防止圖片被盜用

例:在原始圖片(jpeg格式)上添加一個水印網址

    ob_clean();
    header("Content-type:image/jpeg");
    $im = imagecreatefromjpeg("dog.jpg");
    $red = imagecolorallocate($im,255,0,0);
    imagestring($im,5,6,10,"http://www.cnblogs.com/520xiuge/",$red);
    imagejpeg($im);
    imagedestroy($im);

 

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