如何在 Linux 上使用 ImageMagick 將 PNG 轉換為 JPG

在 Linux 系統上,將PNG 轉換為 JPG最靈活的選擇是 ImageMagick。使用 ImageMagick 7,可以使用 `imagemagick.js` 轉換單一文件magick input.png output.jpg,也可以使用 `imagemagick.js` 處理整個資料夾magick mogrify -format jpg *.png。如果 PNG 檔案包含透明度,請先將其拼合到純色背景上,因為 JPEG 不支援 alpha 通道。

在 Linux 上安裝 ImageMagick

ImageMagick 已包含在主流 Linux 發行版的標準軟體倉庫中。其當前文件推薦magick將其作為主要的命令列入口點。軟體包版本因發行版和版本而異,因此較舊的系統可能仍然提供 ImageMagick 6 命令,例如 `imagemagick 6` 和 `imagemagick 6`,convert但mogrify不帶magick前綴。

分配安裝命令
Ubuntu / Debiansudo apt update && sudo apt install imagemagick
Fedorasudo dnf install ImageMagick
Arch Linuxsudo pacman -S imagemagick
openSUSEsudo zypper install ImageMagick
Ubuntu 終端機顯示指令 sudo apt install imagemagick
在開始轉換之前,請使用發行版的軟體套件管理器安裝 ImageMagick。

安裝完成後,使用 `imagemagick --version` 指令檢查版本magick -version。如果該命令不可用但 ImageMagick 已安裝,請嘗試 `imagemagick --version`convert -version或 ` imagemagick --version` 命令mogrify -version。 ImageMagick 的官方命令列工具文件解釋了 ImageMagick 7 的命令結構。 Ubuntu 也發布了官方的 ImageMagick 軟體包列表,Fedora 則維護自己的ImageMagick 軟體包頁面。

將一個PNG檔轉換為JPG格式

打開終端並切換到包含圖片的資料夾。例如:

cd ~/Pictures

然後透過為輸出檔案添加擴展名來轉換檔案.jpg:

magick photo.png photo.jpg
Linux 終端機正在使用 ImageMagick 將 photo.png 轉換為 photo.jpg,旁邊的檔案管理器會顯示這兩個檔案。
ImageMagick 的基本轉換會保留原始 PNG 檔案並寫入一個新的 JPG 檔案。

由於該命令會將檔案寫入不同的輸出檔案名,因此原始檔案photo.png將保留。若要明確選擇 JPEG 壓縮質量,請-quality在輸出檔案名稱前新增:

magick photo.png -quality 90 photo.jpg

ImageMagick 接受 1 到 100 之間的 JPEG 質量值。更高的值通常會保留更多細節,但會產生更大的檔案。有關特定格式的行為,請參閱官方-quality選項參考。

轉換透明 PNG 圖片而不產生不想要的背景

PNG 可以儲存透明像素;JPEG 則不行。如果來源影像包含透明區域,請在儲存為 JPG 格式之前將其拼合到所需的背景顏色上。例如,對於白色背景,請運行:

magick logo.png -background white -alpha remove -alpha off logo.jpg
Linux 終端機顯示 ImageMagick 在儲存 logo.jpg 之前移除 PNG 透明度(白色背景)。
在轉換為沒有 alpha 通道的 JPEG 之前,先將透明 PNG 像素拼合到白色上。

此-alpha remove操作會將影像合成到選定的背景上,同時-alpha off停用輸出的 alpha 通道。 ImageMagick 在其官方 alpha 通道選項文件中記錄了這些行為。

一次性將多個 PNG 檔案轉換為 JPG 文件

若要將.png目前目錄中的所有小寫檔案轉換為大寫,請使用mogrify:

magick mogrify -format jpg *.png
Linux 終端機執行 magick mogrify -format jpg 指令,將多個 PNG 檔案格式化為 JPG 文件,並在檔案總管中顯示相符的 JPG 檔案。
該mogrify -format jpg命令會為目前資料夾中的所有 PNG 檔案建立相符的 JPG 檔案。

根據 ImageMagick 的官方mogrify文檔,使用此方法-format jpg不會修改 PNG 文件,而是產生相應的 JPG 文件。如果您的 PNG 檔案可能包含透明度,請結合以下選項:

magick mogrify -background white -alpha remove -alpha off -quality 90 -format jpg *.png

如果資料夾中已存在同名 JPG 文件,請務必小心,因為新的輸出檔案可能會覆寫這些檔案。為了更安全地進行工作流程,請將轉換後的檔案寫入單獨的目錄:

mkdir -p jpg
for f in *.png; do
  magick "$f" -background white -alpha remove -alpha off -quality 90 "jpg/${f%.png}.jpg"
done

檔案名稱中的一些小細節可能會導致批次出錯。

Linux 檔案名稱通常區分大小寫,因此通配符*.png通常無法匹配.PNG以 `.` 結尾的檔案。如果需要,請再次執行批次檔*.PNG。對於包含空格的單一檔案名,請用引號將其括起來,例如 ` magick "Summer Photo.png" "Summer Photo.jpg".`。這些細節可以防止 shell 將錯誤的路徑傳遞給 ImageMagick。

如果magick找不到怎麼辦?

一些較舊的 Linux 版本仍然包含 ImageMagick 6。在這種情況下,請使用 `image.exe`convert photo.png photo.jpg處理單一映像,使用 ` mogrify -format jpg *.pngimage.exe` 處理批次映像。如果這兩個命令都不存在,請確認 ImageMagick 軟體包已成功安裝,並且其二進位檔案位於 shell 的 `/etc/images/images/` 目錄中PATH。

對於大多數使用者來說,實際規則很簡單:magick在 ImageMagick 7 中使用,在建立 JPEG 之前拼合透明度,並magick mogrify -format jpg在需要快速處理整個資料夾時使用。

留下評論

如何在Linux系統上使用Cameractrls更改網路攝影機設置

如何在Linux系統上使用Cameractrls更改網路攝影機設置

使用 Cameractrls 在 Linux 上變更網路攝影機設定:調整曝光、色彩、減少閃爍和其他支援的控件,然後檢查相容的視訊模式。

如何在 Linux 上安裝 PhpStorm:工具箱、Tar.gz、Snap 和 AUR

如何在 Linux 上安裝 PhpStorm:工具箱、Tar.gz、Snap 和 AUR

在 Linux 系統上,您可以使用 JetBrains Toolbox 或獨立的 tar.gz 壓縮套件安裝 PhpStorm,此外還有 Snap 和 Arch AUR 版本可供選擇。 Java 已預先安裝。

如何在 Linux 系統上將 CD-ROM 備份為 ISO 文件

如何在 Linux 系統上將 CD-ROM 備份為 ISO 文件

在 Linux 上使用 GNOME Disks 或 dd 建立 CD-ROM ISO。識別光碟機,監控複製過程,驗證鏡像,並了解何時損壞的光碟或音訊光碟需要其他工具。

如何在 XFCE 4 上設定雙面板

如何在 XFCE 4 上設定雙面板

為每個顯示器建立一個單獨的 XFCE 4 面板,將第二個面板指派給正確的輸出,調整其位置和大小,並新增所需的啟動器和狀態項目。

如何在Linux上安裝Cisco Packet Tracer

如何在Linux上安裝Cisco Packet Tracer

下載適用於 Ubuntu 64 位元系統的 Cisco Packet Tracer 9.0.1,使用 APT 安裝 DEB 軟體包,在終端機中接受許可協議,然後登入以啟動實驗環境。

如何在Linux系統下使用GIMP摳圖

如何在Linux系統下使用GIMP摳圖

在 Linux 系統上使用 GIMP 去除照片背景:描繪主體,刪除選定的背景,保持透明度,並匯出可重複使用的 PNG 檔案。

免費下載 FlightGear:官方安裝指南

免費下載 FlightGear:官方安裝指南

從官方網站免費下載 FlightGear。比較 Windows、macOS 和 Linux 版本的軟體包,安裝資料文件,即可開始您的首次飛行。

Google Tasks桌面應用程式:如何在電腦上使用

Google Tasks桌面應用程式:如何在電腦上使用

在瀏覽器中開啟 Google Tasks,新增 Chrome 捷徑或應用程式啟動,並透過行事曆和 Gmail 管理有日期的待辦事項。

OKSampler:一款免費、簡單的鍵盤節拍音樂採樣器

OKSampler:一款免費、簡單的鍵盤節拍音樂採樣器

OKSampler 可以將 MP3 片段對應到鍵盤按鍵,並支援音訊循環播放。了解這款經典免費軟體的功能、其舊功能的缺失以及下載前需要檢查的事項。

如何在 Linux 系統上安裝 Wireshark:Ubuntu、Fedora、Arch 等

如何在 Linux 系統上安裝 Wireshark:Ubuntu、Fedora、Arch 等

使用目前軟體包命令在 Ubuntu、Debian、Fedora、Arch 或 openSUSE 上安裝 Wireshark,然後安全地配置即時資料包擷取。