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

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

Simple Image Conversion จาก Command Line

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

sips -s format [image type] [file name] --out [output file]

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

sips -s format png test.jpg --out test.png

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

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

for i in [filename]; do sips -s format [image type] $i --out [destination]/$i.[extension];done

เราจะแปลงไฟล์. jpeg เป็นไฟล์ png ในโฟลเดอร์ย่อยใหม่ของไดเร็กทอรีปัจจุบันเรียกว่า "Converted":

for i in *.jpeg; do sips -s format png $i --out Converted/$i.png;done

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

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

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

ขอขอบคุณไปที่ Thom สำหรับแนวคิดการแปลงแบทช์