首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP GD 圖像處理常用函數總結:分類速查手冊

     編輯:PHP 綜合知識

啟用 GD

php.ini 取消註釋 extension=gd(PHP 7.2+)或 extension=php_gd2.dll,重啟服務。phpinfo() 檢查 GD 版本、支持格式。

函數分類總覽

分類代表函數用途
基本信息gd_info, imagetypes, getimagesize, imagesx, imagesy, imagecolorat庫版本、支持格式、圖片尺寸、像素顏色
圖像轉換imagejpeg, imagepng, imagegif, imagewebp, imagebmp格式互轉、輸出
創建/銷毀imagecreatetruecolor, imagecreatefromjpeg/png/gif/webp, imagedestroy畫布創建、從文件/字符串加載、釋放資源
繪圖操作imageline, imagerectangle, imageellipse, imagearc, imagepolygon, imagesetthickness線、矩形、橢圓、弧、多邊形、線寬
圖像操作imagecopy, imagecopyresampled, imagefilter, imagerotate, imageflip, imagecrop複製、縮放重採樣、濾鏡、旋轉、翻轉、裁剪
圖像設置imagesavealpha, imagealphablending, imagecolortransparent, imagefill, imagefilledrectangle透明度、混合模式、填充色、透明色
文字繪製imagestring, imagettftext, imageftbbox, imagettfbbox內置字體/TrueType 字體繪文、計算邊界框
輸出輸出imagejpeg/png/gif/webp/bmp, image2wbmp, header() 設置 Content-Type輸出到瀏覽器或文件

基本信息函數詳解

gd_info()

print_r(gd_info());
/* 輸出示例
Array (
  [GD Version] => bundled (2.1.0 compatible)
  [FreeType Support] => 1
  [JPEG Support] => 1
  [PNG Support] => 1
  [GIF Read Support] => 1
  [GIF Create Support] => 1
  [WebP Support] => 1
  ...
) */

imagetypes()

if (imagetypes() & IMG_PNG) echo "支持 PNG";

getimagesize()

$info = getimagesize("photo.jpg");
// [0]=寬, [1]=高, [2]=類型常量, [3]="width=... height=..."
// 類型常量:IMAGETYPE_JPEG=2, IMAGETYPE_PNG=3, IMAGETYPE_GIF=1...

imagesx() / imagesy()

$im = imagecreatefrompng("test.png");
echo "寬: " . imagesx($im) . " 高: " . imagesy($im);

imagecolorat() — 獲取像素 RGB

$rgb = imagecolorat($im, 100, 100);
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> 8) & 0xFF;
$b = $rgb & 0xFF;

典型工作流

  1. imagecreatefromjpeg() 加載源圖
  2. imagecreatetruecolor() 創建目標畫布
  3. imagecopyresampled() 高質量縮放
  4. imagettftext() 繪制水印文字
  5. header('Content-Type: image/jpeg') + imagejpeg() 輸出
  6. imagedestroy() 釋放兩個資源

常見坑點

  • 忘記 imagedestroy() 導致內存洩漏
  • 非 TrueColor 畫布 (imagecreate) 不支持透明、抗鋸齒
  • TrueType 字體路徑需絕對路徑或配置 GDFONTPATH
  • 輸出前必須發送正確 Content-Type,且無任何輸出(含 BOM、空白)
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved