# 圖片讀取參數

本頁說明 `GET /c/img/*path` 接受的 query 參數、預設值與正規化規則。

## 參數

每個參數都有短名與長名，由 `utils.GetQuery` 依序取第一個非空值：

| 短名 | 長名 | 預設值 | 說明 |
|---|---|---|---|
| `o` | `origin` | `0` | `1` 時直接回傳原檔，忽略其他轉檔參數 |
| `s` | `size` | — | 短邊長度（px），優先於 `w`／`h` |
| `w` | `width` | — | 寬度（px） |
| `h` | `height` | — | 高度（px） |
| `q` | `quality` | `75`（AVIF 為 `50`） | 輸出品質，限制於 0–100 |
| `t` | `type` | `webp` | 輸出格式 |
| `b` | `blur` | `0` | 高斯模糊 sigma，限制於 0–100 |
| `B` | `bright` | `1` | 亮度倍率 |
| `d` | `dark` | — | `1` 或 `dark` 時錯誤回應使用深色佔位圖 |

`b` 與 `B` 區分大小寫，分別代表模糊與亮度。

## 格式與品質

| `t` 值 | 輸出 | Content-Type | 品質 |
|---|---|---|---|
| `webp`、空值、不合法值 | WebP | `image/webp` | `q`，預設 75 |
| `jpg`、`jpeg` | JPEG（`jpeg` 正規化為 `jpg`） | `image/jpeg` | `q`，預設 75 |
| `avif` | AVIF | `image/avif` | `q`，預設 50 |
| `png` | PNG | `image/png` | 不套用 |

`q`、`b` 無法解析為數字時使用預設值；`B` 無法解析時轉檔失敗並回佔位圖。

## 範例

```bash
# 短邊 480 px、AVIF、品質 60
curl -o a.avif "http://localhost:8080/c/img/blog/photo.jpg?s=480&t=avif&q=60"

# 寬 800 px、模糊 10、亮度 0.8，失敗時回深色佔位圖
curl -o b.webp "http://localhost:8080/c/img/blog/photo.jpg?width=800&blur=10&bright=0.8&dark=1"

# 原檔
curl -o c.jpg "http://localhost:8080/c/img/blog/photo.jpg?o=1"
```

尺寸參數如何換算成輸出大小見 [尺寸計算](/zh/api-reference-sizing)；處理順序見 [影像處理流程](/zh/image-pipeline)。
