imagecreatetruecolor() 創建真彩色畫布(預設黑背景)imagepng()/imagejpeg() 輸出瀏覽器或存檔imagedestroy() 釋放記憶體,防止洩漏前置條件: php.ini 啟用 extension=php_gd2.dll
| 格式 | 壓縮 | 色彩 | 動畫 | 適用場景 |
|---|---|---|---|---|
| GIF | 無損,壓縮率最高 | 256 色(易失真) | ✅ 支援 | 簡單圖示、動畫 |
| JPG/JPEG | 有損,壓縮率高 | 真彩色 | ❌ | 照片、複雜圖片 |
| PNG | 無損 | 真彩色 + Alpha 透明 | ❌ (APNG 除外) | UI 元素、截圖、需透明背景 |
<?php
// 1. 建立畫布 300x200
$im = imagecreatetruecolor(300, 200);
// 2. 分配顏色:紅色
$red = imagecolorallocate($im, 255, 0, 0);
// 3. 畫圓:imageellipse(畫布, 中心x, 中心y, 寬, 高, 顏色)
// 寬=高為正圓,不等為橢圓
imageellipse($im, 30, 30, 40, 40, $red);
// 4. 輸出 PNG
header("Content-type: image/png");
imagepng($im);
// 5. 釋放資源
imagedestroy($im);
?>
bool imageellipse ( resource $image, int $cx, int $cy, int $width, int $height, int $color )
$cx, $cy 為圓心座標;$width, $height 為水平/垂直直徑。若需填滿圓形,請使用 imagefilledellipse()(參數相同)。