ค้นหาเว็บไซต์

4 วิธีในการแปลง PNG ของคุณเป็น JPG และในทางกลับกัน


ในการคำนวณ การประมวลผลแบบ แบทช์ คือการดำเนินการชุดงานในโปรแกรมแบบไม่โต้ตอบ ในคู่มือนี้จะนำเสนอวิธีง่ายๆ 4 วิธีในการแปลงรูปภาพ .PNG หลายภาพเป็น .JPG เป็นชุด และในทางกลับกันโดยใช้เครื่องมือบรรทัดคำสั่ง Linux

เราจะใช้เครื่องมือบรรทัดคำสั่ง แปลง ในตัวอย่างทั้งหมด อย่างไรก็ตาม คุณสามารถใช้ mogrify เพื่อให้บรรลุเป้าหมายได้เช่นกัน

ไวยากรณ์สำหรับการใช้ การแปลง คือ:

convert input-option input-file output-option output-file

และสำหรับ mogrify คือ:

mogrify options input-file

หมายเหตุ: ด้วย mogrify ไฟล์ภาพต้นฉบับจะถูกแทนที่ด้วยไฟล์ภาพใหม่ตามค่าเริ่มต้น แต่คุณสามารถป้องกันได้โดย ใช้ตัวเลือกบางอย่างที่คุณสามารถพบได้ในหน้าคน

ด้านล่างนี้เป็นวิธีต่างๆ ในการแปลงรูปภาพ .PNG ทั้งหมดของคุณเป็นรูปแบบ .JPG เป็นกลุ่ม หากคุณต้องการแปลง .JPG เป็น .PNG คุณสามารถแก้ไขคำสั่งได้ตามความต้องการ

1. แปลง PNG เป็น JPG โดยใช้คำสั่ง 'ls' และ 'xargs'

คำสั่ง ls ช่วยให้คุณสามารถแสดงรายการรูปภาพ png ทั้งหมดของคุณ และ xargs ทำให้สามารถสร้างและดำเนินการคำสั่ง แปลง จากอินพุตมาตรฐานเพื่อแปลงทั้งหมด .png รูปภาพเป็น .jpg

----------- Convert PNG to JPG ----------- 
ls -1 *.png | xargs -n 1 bash -c 'convert "$0" "${0%.png}.jpg"'

----------- Convert JPG to PNG ----------- 
ls -1 *.jpg | xargs -n 1 bash -c 'convert "$0" "${0%.jpg}.png"'

คำอธิบายเกี่ยวกับตัวเลือกที่ใช้ในคำสั่งข้างต้น

  1. -1 – ธงบอก ls ให้แสดงรายการหนึ่งภาพต่อบรรทัด
  2. -n – ระบุจำนวนอาร์กิวเมนต์สูงสุด ซึ่งเท่ากับ 1 สำหรับกรณีและปัญหา
  3. -c – สั่งให้ bash รันคำสั่งที่กำหนด
  4. $ {0%.png}.jpg – ตั้งชื่อรูปภาพที่แปลงใหม่ เครื่องหมาย % ช่วยลบนามสกุลไฟล์เก่า

ฉันใช้คำสั่ง ls -ltr เพื่อแสดงรายการไฟล์ทั้งหมดตามวันที่และเวลาที่แก้ไข

ในทำนองเดียวกัน คุณสามารถใช้คำสั่งด้านบนเพื่อแปลงรูปภาพ .jpg ทั้งหมดของคุณเป็น .png ได้โดยการปรับแต่งคำสั่งด้านบน

2. แปลง PNG เป็น JPG โดยใช้คำสั่ง GNU 'Parallel'

GNU Parallel ช่วยให้ผู้ใช้สามารถสร้างและดำเนินการคำสั่งเชลล์จากอินพุตมาตรฐานในแบบคู่ขนาน ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้ง GNU Parallel บนระบบของคุณแล้ว หรือติดตั้งโดยใช้คำสั่งที่เหมาะสมด้านล่าง:

sudo apt-get install parallel     [On Debian/Ubuntu systems]
sudo yum install parallel         [On RHEL/CentOS and Fedora]

เมื่อติดตั้งยูทิลิตี้ ขนาน แล้ว คุณสามารถเรียกใช้คำสั่งต่อไปนี้เพื่อแปลงรูปภาพ .png ทั้งหมดเป็นรูปแบบ .jpg จากอินพุตมาตรฐาน

----------- Convert PNG to JPG ----------- 
parallel convert '{}' '{.}.jpg' ::: *.png

----------- Convert JPG to PNG -----------
parallel convert '{}' '{.}.png' ::: *.jpg

ที่ไหน,

  1. {} – บรรทัดอินพุตซึ่งเป็นสตริงแทนที่แทนที่ด้วยการอ่านบรรทัดที่สมบูรณ์จากแหล่งอินพุต
  2. {.} – บรรทัดอินพุตลบส่วนขยาย
  3. ::: – ระบุแหล่งอินพุต นั่นคือบรรทัดคำสั่งสำหรับตัวอย่างด้านบน โดยที่ *png หรือ *jpg เป็นอาร์กิวเมนต์

หรือคุณสามารถใช้คำสั่ง ls และ ขนาน ร่วมกันเพื่อแปลงรูปภาพทั้งหมดเป็นชุดตามที่แสดง:

----------- Convert PNG to JPG ----------- 
ls -1 *.png | parallel convert '{}' '{.}.jpg'

----------- Convert JPG to PNG -----------
ls -1 *.jpg | parallel convert '{}' '{.}.png'

3. แปลง PNG เป็น JPG โดยใช้คำสั่ง 'for loop'

เพื่อหลีกเลี่ยงความเร่งรีบในการเขียนเชลล์สคริปต์ คุณสามารถรัน for loop จากบรรทัดคำสั่งได้ดังนี้:

----------- Convert PNG to JPG ----------- 
bash -c 'for image in *.png; do convert "$image" "${image%.png}.jpg"; echo “image $image converted to ${image%.png}.jpg ”; done'

----------- Convert JPG to PNG -----------
bash -c 'for image in *.jpg; do convert "$image" "${image%.jpg}.png"; echo “image $image converted to ${image%.jpg}.png ”; done'

คำอธิบายของแต่ละตัวเลือกที่ใช้ในคำสั่งข้างต้น:

  1. -c อนุญาตให้ดำเนินการคำสั่ง for loop ในราคาเดี่ยว
  2. ตัวแปร รูปภาพ เป็นตัวนับจำนวนรูปภาพในไดเร็กทอรี
  3. สำหรับการดำเนินการแปลงแต่ละครั้ง คำสั่ง echo จะแจ้งให้ผู้ใช้ทราบว่ารูปภาพ PNG ถูกแปลงเป็นรูปแบบ jpg และในทางกลับกันในบรรทัด $image แปลงเป็น & #36 {ภาพ%.png}.jpg ”.
  4. “$ {image%.png}.jpg” สร้างชื่อของรูปภาพที่แปลงแล้ว โดยที่ % จะลบนามสกุลของรูปแบบรูปภาพเก่าออก

4. แปลง PNG เป็น JPG โดยใช้เชลล์สคริปต์

หากคุณไม่ต้องการทำให้บรรทัดคำสั่งของคุณสกปรกเหมือนในตัวอย่างก่อนหน้านี้ ให้เขียนสคริปต์เล็กๆ ดังนี้:

หมายเหตุ: สลับส่วนขยาย .png และ .jpg อย่างเหมาะสมดังตัวอย่างด้านล่างสำหรับการแปลงจากรูปแบบเดียว ไปที่อื่น

#!/bin/bash
#convert
for image in *.png; do
        convert  "$image"  "${image%.png}.jpg"
        echo “image $image converted to ${image%.png}.jpg ”
done
exit 0 

บันทึกเป็น convert.sh และทำให้สคริปต์ปฏิบัติการได้ จากนั้นเรียกใช้จากภายในไดเร็กทอรีที่มีรูปภาพของคุณ

chmod +x convert.sh
./convert.sh

โดยสรุป เราได้กล่าวถึงวิธีที่สำคัญบางประการในการแปลงรูปภาพ .png เป็นรูปแบบ .jpg เป็นชุดและในทางกลับกัน หากคุณต้องการปรับภาพให้เหมาะสม คุณสามารถอ่านคำแนะนำของเราที่แสดงวิธีบีบอัดรูปภาพ PNG และ JPG ใน Linux

คุณสามารถแบ่งปันวิธีการอื่นๆ กับเราได้ รวมถึงเครื่องมือบรรทัดคำสั่ง Linux สำหรับการแปลงรูปภาพจากรูปแบบหนึ่งไปเป็นอีกรูปแบบหนึ่งบนเทอร์มินัล หรือถามคำถามผ่านส่วนความคิดเห็นด้านล่าง