convert จาก ImageMagick
เช่น 8-bit 2x3 โทนสีเทา:
printf '\x00\xFF\x88\xFF\x00\xFF' > f
แล้ว:
convert -depth 8 -size 3x2+0 gray:f out.png
คำอธิบายคำสั่ง:
-depth 8: แต่ละสีมี 8 บิต
-size 2x3+0: 2x3รูปภาพ +0หมายถึงเริ่มต้นที่ offset 0 ในไฟล์ หากมีส่วนหัวเมทาดาทาคุณสามารถข้ามส่วนเหล่านั้นได้ด้วยออฟเซ็ต
gray:f: ไฟล์อินพุตคือfและรูปแบบคือgrayตามที่กำหนดไว้ที่http://www.imagemagick.org/script/formats.phpสัญกรณ์แปลก ๆ นี้ใช้เพราะ ImageMagick มักจะกำหนดรูปแบบจากส่วนขยาย แต่ที่นี่ไม่มีส่วนขยาย .
ปัญหาตอนนี้คือวิธีดูผลลัพธ์ โดยตรงeog:
eog out.png
ไม่ดีมากเพราะภาพมีขนาดเล็กเกินไปและหากคุณซูมเข้ามาก ๆeogจะใช้อัลกอริทึมการแสดงผลที่ผสมพิกเซลขึ้นมาซึ่งจะดีกว่าสำหรับรูปภาพส่วนใหญ่ แต่ไม่ใช่ในกรณีของเรา ฉันพบความเป็นไปได้สองประการ:
gimp out.png. โปรแกรมแก้ไขรูปภาพจะต้องแสดงทุกพิกเซล
convert out.png -scale 300x200 out2.png. -scaleเป็นสิ่งจำเป็นแทน-resizeเนื่องจากค่าเริ่มต้น-resizeผสมพิกเซลได้มากeogตามค่าเริ่มต้น
เอาท์พุท:

ตัวอย่าง RGB:
printf '\xFF\x00\x00\x00\xFF\x00\x00\x00\xFF' > f
convert -depth 8 -size 3x1+0 rgb:f out.png

ทดสอบบน Ubuntu 16.04 แล้ว ImageMagick 6.8.9