不損失品質的圖片調整大小:有效的技術方法
調整圖片大小看似簡單,但要在不產生可見品質退化的情況下完成,需要了解重新取樣演算法、長寬比和格式特定行為。無論你是為網站、社群媒體還是印刷品準備圖片,你選擇的技術都很重要。
圖片調整大小的現實
一個重要的事實:你無法在不損失品質的情況下放大點陣圖片。當你將 500×500 像素的圖片放大到 1000×1000 時,軟體必須發明原本不存在的像素。最好的演算法可以讓結果看起來可以接受,但未被捕捉的資訊無法被恢復。
縮小則可以獲得極佳的效果。你是在丟棄像素,而非發明像素。關鍵是選擇正確的重新取樣演算法。
重新取樣演算法
當你調整圖片大小時,軟體必須決定如何將原始像素對應到新的尺寸。這就是重新取樣。
最近鄰插值
最簡單的演算法——每個新像素取最近的原始像素的顏色。
- 結果:像素化、塊狀外觀
- 速度:最快
- 適用於:像素藝術、復古圖形、UI 截圖(需要銳利邊緣的場合)
- 不適用於:照片、平滑漸層
雙線性插值
對每個新像素取最近四個像素的平均值。
- 結果:平滑但略微模糊
- 速度:快速
- 適用於:快速預覽、即時調整大小
雙三次插值
考慮周圍 16 個像素(4×4 網格)以獲得更平滑的結果。
- 結果:銳利度和平滑度之間的良好平衡
- 速度:中等
- 適用於:一般用途的調整大小(Photoshop 預設)
Lanczos 重新取樣
使用 sinc 函數考慮多個周圍像素。縮小的黃金標準。
- 結果:最銳利、最細緻的縮小效果
- 速度:最慢
- 適用於:最終成品圖片、攝影作品
使用我們的圖片調整大小工具以最佳演算法調整你的圖片。
維持長寬比
將圖片拉伸到不同的長寬比會產生變形。三種策略:
1. 等比例縮放
維持原始比例。如果目標是 1200×800 且你的圖片是 4000×3000(4:3),則縮放到 1067×800(保持 4:3)。
2. 裁切以適合
縮放以覆蓋目標尺寸,然後裁切多餘部分。這會填滿整個目標區域,但會損失邊緣的部分內容。
3. 信箱模式 / 柱箱模式
縮放以適合目標範圍,然後添加填充(條狀區域)來填滿剩餘空間。保留所有內容但會增加空白區域。
/* CSS object-fit controls this behavior */
.cover { object-fit: cover; } /* Crop to fit */
.contain { object-fit: contain; } /* Fit within */
.fill { object-fit: fill; } /* Stretch (distort) */
批次調整大小
命令列(ImageMagick)
# Resize all JPGs to max 1200px wide, preserving aspect ratio
mogrify -resize 1200x -quality 85 *.jpg
# Resize to exact dimensions with crop
convert input.jpg -resize 800x600^ -gravity center -extent 800x600 output.jpg
# Batch convert directory
for f in *.png; do
convert "$f" -resize 50% "resized/${f}"
done
Sharp (Node.js)
const sharp = require('sharp');
await sharp('input.jpg')
.resize(1200, 800, {
fit: 'inside', // Preserve aspect ratio
withoutEnlargement: true // Never upscale
})
.jpeg({ quality: 85 })
.toFile('output.jpg');
格式特定注意事項
JPEG
- 每次儲存都會降低品質(有損壓縮)
- 調整大小後只儲存一次——避免多次編輯-儲存循環
- 網頁用途使用品質 85,存檔用途使用品質 95
PNG
- 無損——儲存不會損失品質
- 照片的檔案大小可能很大
- 適用於圖形、截圖和具有透明度的圖片
WebP
- 支援有損和無損模式
- 在同等品質下壓縮效果優於 JPEG
- 調整大小後用於網頁傳遞的絕佳選擇
SVG
- 向量格式——無限調整大小而不損失品質
- 無法將點陣化後的圖片「反點陣化」
- 適用於圖示、標誌和插圖
有關調整大小後的圖片最佳化,請參閱我們的圖片最佳化指南。
常見錯誤
- 先放大再縮小:務必從原始圖片調整大小,而非從已經調整過的副本
- 忽略 DPI:300 DPI 的 4×6 英寸圖片是 1200×1800 像素。用於網頁的 72 DPI 時,調整到你需要的像素尺寸
- 截圖使用 JPEG:文字和 UI 元素在 PNG 中看起來更好(銳利邊緣、無壓縮失真)
- 未考慮 Retina 顯示器:為 Retina/HiDPI 螢幕提供 2 倍解析度圖片(
srcset屬性)
常見問題
AI 放大真的能改善圖片品質嗎?
現代 AI 放大技術(Real-ESRGAN、Topaz Gigapixel)能產生令人印象深刻的結果,特別是對於人臉和自然場景。它們的運作方式是根據訓練資料預測更高解析度的細節。結果並不完美——它們添加的是看似合理但原始圖片中並不存在的細節。對於關鍵應用,這些工具應該謹慎使用。
社群媒體圖片應該使用什麼尺寸?
平台特定建議:Instagram 貼文(1080×1080)、Instagram 限時動態(1080×1920)、Twitter/X 貼文(1200×675)、Facebook 貼文(1200×630)、LinkedIn 貼文(1200×627)。請隨時查看最新的平台指南,因為它們經常變動。