ความห่วยของ Facebook อย่างหนึ่งคือ รูปภาพที่อัปโหลดขึ้นไป จะถูกย่อขนาดลงให้เหลือกว้างxยาวไม่เกิน 720 pixel แถมยัง quality ลดลงอีกด้วย ลองเอารูปถ่ายเดียวกันอัปโหลดขึ้น Facebook เทียบกับ Flickr จะเห็นความแตกต่างด้านคุณภาพอย่างชัดเจน
ดังนั้น ถ้าเราเอาไฟล์ภาพคุณภาพสูงอัปโหลดขึ้น Facebook มันก็ออกจะเสียเวลา เปลือง bandwidth ไปซะเปล่าๆ เรามาย่อรูปกันก่อนอัปโหลดดีกว่า
ย่อรูปด้วย sips
บน Mac OS X มีคำสั่งชื่อว่า sips เอาไว้สำหรับย่อรูป วิธีใช้งานก็ตรงไปตรงมา เช่นถ้าจะย่อรูปให้เหลือกว้างxยาว ไม่เกิน 720 pixel ก็ใช้คำสั่งตามนี้
$ sips -Z 720 photo.jpg
ลดคุณภาพด้วย jpegoptim
แค่การลดความละเอียดภาพอย่างเดียว อาจจะยังได้ไฟล์ไม่เล็กพอ ก็มีคำสั่ง jpegoptim สำหรับ optimize ภาพ JPEG ให้มีขนาดเล็กลงได้ แต่พอดีคำสั่งนี้ไม่มีติดมากับ OS X ถ้าต้องการใช้งาน ก็ลงผ่าน fink จะง่ายที่สุด
$ sudo fink install jpegoptim
วิธีใช้ jpegoptim ก็ระบุคุณภาพของภาพที่ parameter -m เช่น
$ jpegoptim -f -m80 --strip-all photo.jpg
เวลาจะย่อทีละหลายๆ ภาพก็เขียน bash script สักเล็กน้อย
$ for f in *.jpg do; sips -Z 720 "$f"; jpegoptim -f -m80 --strip-all "$f"; done
ลองทำตามขั้นตอนนี้ สามารถย่อภาพ JPEG จำนวน 450 รูป ขนาดรวม 750 MB ให้เหลือแค่ 28 MB ได้ อัปโหลดขึ้น Facebook ไม่นานก็เสร็จ