首頁  >  文章  >  後端開發  >  (進階篇)PHP圖片處理技術-GD庫

(進階篇)PHP圖片處理技術-GD庫

黄舟
黄舟原創
2017-02-07 09:12:332763瀏覽

1、開啟GD擴充

extension=php_gd2.dll

Apache restart

2、範例:

場景:

製作500×300的綠圖

圖片

型畫。可以操作的圖像資源。

創建新畫布(新建)

 ImageCreate(寬,高),創建基於調色板的畫布。

 imageCreateTrueColor(寬,高);創造真彩色的畫布。

基於圖片建立畫布(開啟)

 imageCreateFromJPEG(圖片位址);

 imageCreateFromPNG(圖片位址);

 imageCreateFromGfromPNG(圖片位址);

 imageCreateFromGIF(IfromG);個顏色,應該先將顏色分配到畫布上。

使用函數:

 顏色標識= imageColorAllocate(畫布,R,G,B);

顏色的表示方式:

RGB

③畫布:將填充點填色:將顏色相同的點填色:將點填色的點填色:將點填色替換)

使用函數:

 imageFill(畫布, 填充位置x,填充位置Y,顏色標識)完成

位置採用座標進行管理:

原點:0,0,畫布的左上角。

向右,x軸增加,向下Y軸增加。

右下角座標:width-1,height-1

④輸出畫布

將畫布中處理好的圖樣訊息,輸出出來。

典型的:


1輸出到圖片檔案。

2直接輸出。

使用函數:

imagePNG(畫布[, 檔案位址]):

imageJPEG();

imageGIF();

如果沒有第二個參數,表示直接輸出。

註:如果直接輸出到瀏覽器,需要告知瀏覽器,回應資料的類型應該是PNG格式的圖片:

使用指令Content-type;

一個畫布可以輸出多次,輸出為各種格式

⑤銷毀畫布資源

imageDestroy()

範例程式碼:

<?php
//例如:制作500×300的绿色图片
$width=500;
$height=300;
//创建真彩色的画布
$img=imageCreateTrueColor($width,$height);
// var_dump($img);    //测试结果: resource(2) of type (gd)   $img是一个资源类型
//使用函数imageColorAllocate(画布,R,G,B)分配颜色,颜色的表示方式:R  G  B
$green=imageColorAllocate($img, 0x0, 0xff, 0x0);
//填充画布,原点:0,0,画布的左上角,imageFill(画布, 填充位置x, 填充位置Y,颜色标识)完成
imageFill($img,0,0,$green);
//输出画布,直接输出到当前路径下为图片文件,格式有PNG、JPEG、GIF
//imagePNG($img,&#39;./green.png&#39;);  //如果没有第二个参数,表示直接输出
//如果直接输出到浏览器,需要告知浏览器,响应数据的类型应该是PNG格式的图片:使用指令Content-type
header(&#39;Content-Type:image/png;&#39;);
imagePNG($img);
//注:一个画布可以输出多次,输出为各种格式
//销毁画布资源
imageDestroy($img);

文範例程式碼:

<?php
//例如:制作500×300的绿色图片
$width=500;
$height=300;
//创建真彩色的画布
$img=imageCreateTrueColor($width,$height);
// var_dump($img);    //测试结果: resource(2) of type (gd)   $img是一个资源类型
//使用函数imageColorAllocate(画布,R,G,B)分配颜色,颜色的表示方式:R  G  B
$green=imageColorAllocate($img, 0x0, 0xff, 0x0);
//填充画布,原点:0,0,画布的左上角,imageFill(画布, 填充位置x, 填充位置Y,颜色标识)完成
imageFill($img,0,0,$green);
//输出画布,直接输出到当前路径下为图片文件,格式有PNG、JPEG、GIF
//imagePNG($img,&#39;./green.png&#39;);  //如果没有第二个参数,表示直接输出
//如果直接输出到浏览器,需要告知浏览器,响应数据的类型应该是PNG格式的图片:使用指令Content-type
header(&#39;Content-Type:image/png;&#39;);
imagePNG($img);
//注:一个画布可以输出多次,输出为各种格式
//销毁画布资源
imageDestroy($img);

網示例內容請關注PHP中文網(www.php.cn)!


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn