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

Linux 下 PHP 圖像處理:GD 庫格式支援與字體詳解

     編輯:PHP 綜合知識

GD 庫簡介

GD 是由 Thomas Boutell 編寫的 ANSI C 圖形庫,現由 Boutell 公司維護(官網)。PHP 通過擴展封裝 GD,提供繪圖、色彩處理、圖片讀寫、填充等功能。PHP 5.3+ 內建 GD,無需額外編譯(除非需特殊格式支援)。

支援圖像格式對比

格式全稱特點適用場景PHP 函數族
PNGPortable Network Graphics無損壓縮、支援 Alpha 透明、24/48 位色彩、漸進顯示Web 圖標、截圖、需透明背景的圖片imagecreatefrompng, imagepng
JPEGJoint Photographic Experts Group有損壓縮、24 位色彩、壓縮率高、不支援透明照片、複雜色彩圖片、網頁傳輸優化imagecreatefromjpeg, imagejpeg
GIFGraphics Interchange FormatLZW 無損、256 色、支援動畫、單色透明簡單動畫、小圖標、舊項目兼容imagecreatefromgif, imagegif
WBMPWireless Bitmap1 位雙色(黑白)、極小體積WAP 頁面、極低帶寬設備imagecreatefromwbmp, imagewbmp
XBMX BitMapC 源碼格式、單色、文本可讀、瀏覽器原生支援簡單圖標、嵌入式設備imagecreatefromxbm, imagexbm

字體支援

關鍵函數速查

// 創建畫布
$im = imagecreatetruecolor($width, $height); // 真彩色
$im = imagecreate($width, $height);          // 調色板模式(舊版)

// 顏色分配
$color = imagecolorallocate($im, $r, $g, $b);
$color = imagecolorallocatealpha($im, $r, $g, $b, $alpha); // 含透明度

// 繪圖基礎
imagesetpixel($im, $x, $y, $color);
imageline($im, $x1, $y1, $x2, $y2, $color);
imagerectangle($im, $x1, $y1, $x2, $y2, $color);
imagefilledrectangle($im, $x1, $y1, $x2, $y2, $color);
imagearc($im, $cx, $cy, $w, $h, $start, $end, $color);
imagefilledarc($im, $cx, $cy, $w, $h, $start, $end, $color, IMG_ARC_PIE);

// 文字繪製
imagestring($im, $font, $x, $y, $text, $color);           // 內建字體
imagettftext($im, $size, $angle, $x, $y, $color, $fontfile, $text); // TTF

// 輸出/保存
imagepng($im, $filename, $quality, $filters);
imagejpeg($im, $filename, $quality);
imagegif($im, $filename);
imagedestroy($im); // 釋放內存

實戰建議

  1. 優先使用 PNG:無損、透明、現代瀏覽器完美支援
  2. 照片用 JPEG:imagejpeg($im, null, 85) 平衡品質與體積
  3. 避免 GIF:專利歷史包袱、色彩受限、動畫場景改用 APNG/WebP
  4. TTF 字體佈局:使用 imagettfbbox() 計算文本邊界框,實現精準對齊、換行、排版
  5. 內存管理:大圖處理後及時 imagedestroy(),長時間運行腳本需監控 memory_limit
  6. 現代替代:ImageMagick (Imagick 擴展) 功能更強、格式更全、性能更優,複雜圖像處理首選
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
類型描述PHP 函數
內建點陣字體1~5 號固定大小,無需外部文件imagestring, imagestringup
TrueType (TTF)可縮放矢量字體,支援抗鋸齒、多語言imagettftext, imagettfbbox
PostScript Type 1印刷級字體,專業排版使用imagepsloadfont, imagepstext(PHP 7.0 移除)