การแปลงรูปแบบไฟล์รูปภาพด้วย Command Line & sips

Anonim

การแปลงภาพเป็นรูปแบบไฟล์ใหม่นั้นง่ายมากด้วยเครื่องมือต่างๆ ที่สร้างขึ้นโดยตรงใน OS X (และลีนุกซ์ส่วนใหญ่) แม้ว่าวิธีที่ง่ายที่สุดจะใช้การดูตัวอย่างสำหรับการแปลงภาพ แต่ก็มีตัวเลือกบรรทัดคำสั่งที่ใช้เครื่องมือ sips แบบเดียวกับที่เราเคยพูดถึงมาก่อนเพื่อดำเนินการปรับขนาดเป็นชุดจากบรรทัดคำสั่งเมื่อใช้ sips คุณสามารถแปลงภาพเดี่ยวเป็นรูปแบบภาพใหม่ หรือแม้แต่ทำการแปลงภาพเป็นชุด

การแปลงรูปภาพอย่างง่ายจาก Command Line

หากต้องการแปลงรูปภาพเดียวด้วย sips ให้ใช้ไวยากรณ์สตริงคำสั่งต่อไปนี้:

sips -s รูปแบบ --out

ตัวอย่างเช่น ในไฟล์ชื่อ “test.jpg” ที่คุณต้องการแปลงเป็น PNG ไวยากรณ์ sip จะเป็น:

sips -s รูปแบบ png test.jpg --out test.png

การแปลงรูปภาพเป็นชุดด้วย sips

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

สำหรับฉันใน ; ทำ sips -s รูปแบบ $i --out /$i.;done

เมื่อนำไปใช้ เราจะแปลงโฟลเดอร์ของไฟล์ .jpeg เป็นไฟล์ png ในโฟลเดอร์ย่อยใหม่ของไดเร็กทอรีปัจจุบัน ซึ่งเรียกว่า “Converted”:

สำหรับฉันใน .jpeg; ทำ sips -s รูปแบบ png $i --out Converted/$i.png;done

การเรียกใช้คำสั่งนั้นอาจส่งผลให้ภาพ JPEG ทั้งหมดถูกแปลงเป็นรูปแบบ PNG ในไดเร็กทอรีใหม่

สิ่งที่น่ารำคาญคือชื่อไฟล์ที่ได้จะรวมประเภทไฟล์ต้นฉบับไว้ด้วย ซึ่งหมายความว่าคุณจะได้ไฟล์ชื่อ “test.jpeg.png” นามสกุลไฟล์ยังคงถูกต้อง เป็นเพียงปัญหาในการตั้งชื่อเท่านั้น คุณสามารถแก้ไขได้โดยการเปลี่ยนชื่อไฟล์เพื่อเริ่มต้นด้วยการเพิ่มนามสกุลไฟล์ที่เหมาะสมในภายหลังด้วยสคริปต์ทุบตีที่คล้ายกัน โดยใช้ regex หรือเปลี่ยนชื่อด้วยตนเองด้วย mv

เมื่อเรียกใช้ sips ด้วยรูปแบบไฟล์บางรูปแบบ คุณอาจพบข้อผิดพลาด 'คำเตือน lingpng' เกี่ยวกับข้อมูล exif ข้อผิดพลาดเหล่านี้สามารถละเว้นได้เป็นส่วนใหญ่ และการแปลงรูปภาพจะยังคงเกิดขึ้น

ขอบคุณ Thom สำหรับแนวคิดการแปลงเป็นชุด

การแปลงรูปแบบไฟล์รูปภาพด้วย Command Line & sips