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

PHP GD 動態圖像創建入門:環境搭建、基礎繪圖、縮放裁剪實戰

     編輯:PHP 綜合知識

環境搭建順序(源碼編譯)

  1. 安裝 t1lib(Type1 字體)
  2. 安裝 jpeg-6b
  3. 安裝 GD(編譯時自動偵測 jpeg)
  4. 重新配置 PHP:
    --with-gd --with-jpeg-dir --with-t1lib
  5. make clean && make && make install,重啟 Apache/PHP-FPM
  6. phpinfo() 確認 GD Support: enabled、JPEG Support: enabled

現代發佈版:apt install php-gd / yum install php-gd / Docker docker-php-ext-install gd 一步到位。

版本差異

GD 版本GIFPNG
≤ 1.6✅ 創建❌
> 1.6❌ (專利)✅ 創建

最簡圖像:天藍色方塊

<?php
header('Content-Type: image/png');
$im = imagecreate(250, 250);
$sky = imagecolorallocate($im, 136, 193, 255);
imagefill($im, 0, 0, $sky);
imagepng($im);
imagedestroy($im);

縮放:大圖生成 35x35 縮略圖

<?php
header('Content-Type: image/png');
$src = imagecreatefrompng('test.png');
$dst = imagecreatetruecolor(35, 35);
imagecopyresampled($dst, $src, 0,0, 0,0, 35,35, imagesx($src), imagesy($src));
imagepng($dst);
imagedestroy($src);
imagedestroy($dst);
  • imagecopyresampled():重採樣,質量高(雙線性插值)。
  • imagecopyresized():最近鄰插值,速度快、質量低。

進階技巧

  • 真彩色畫布:imagecreatetruecolor() 支援 24bit+Alpha,imagecreate() 僅 256 色。
  • 透明背景:imagealphablending($im,false); imagesavealpha($im,true); + imagecolorallocatealpha($im,0,0,0,127)。
  • 文字繪製:imagettftext() 需 FreeType,支援 TTF/OTF、抗鋸齒、旋轉。
  • 輸出 WebP:imagewebp($im, 'out.webp', 85) 體積減 30%+。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved