"ฉันต้องการเปลี่ยน DPI ด้วย Imagemagick โดยไม่เปลี่ยนขนาดข้อมูลไบต์ของข้อมูลจริง"
นี่เป็นไปไม่ได้อย่างสมบูรณ์!
เพราะ:
more "Dots per Inch"
<==> more pixels per area
<==> more total pixels per image
<==> more total bytes per image
นอกจากนี้คุณไม่เข้าใจว่า DPI ในความเป็นจริงคืออะไร:
- เป็นค่านามธรรมที่สมบูรณ์ซึ่งได้รับคุณค่าจริงในบริบทของการรู้ขนาดที่แน่นอนของงานพิมพ์หรือการแสดงผลบนหน้าจอหรือจอภาพ:
- คุณสามารถ 'พิมพ์' เดียวกันมากภาพ 72x72 พิกเซลบน 1 นิ้วกว้างตาราง:
72dpi
พิมพ์ออกมาจะมีความละเอียด
- คุณสามารถ 'พิมพ์' บน 1/4
288dpi
นิ้วกว้างตารางเกินไปแล้วพิมพ์ออกมาจะมีความละเอียด
- ( หมายเหตุ: หากคุณ 'พิมพ์' ที่
288dpi
ขนาด 1 นิ้วมันไม่มีภาพเดียวกันอีกต่อไป: มันจะต้องผ่านการคาดการณ์ผ่านไดรเวอร์เครื่องพิมพ์หรือกลไกการกรองอื่น ๆ และมันจะกลายเป็นภาพขนาด 288x288 พิกเซลแทน ภาพขนาด 72x72 พิกเซล ... )
- งานพิมพ์ทั้งสองจะมีข้อมูลภาพเหมือนกันมาก - ภาพขนาด 288dpi จะไม่มีมากขึ้นในทันที
หากคุณต้องการพิมพ์ภาพต้นฉบับขนาด 72x72 พิกเซลเป็นสี่เหลี่ยมจัตุรัสกว้าง 1 นิ้ว แต่288dpi
คุณต้องทำการrescaleภาพใหม่ (ในกรณีนี้เป็นการขยายภาพ) สำหรับทุก ๆ 1 พิกเซลในภาพต้นฉบับคุณจะต้องมี 4 พิกเซลของรูปภาพใหม่ที่มีการลดอัตราการสุ่ม ขณะนี้มีอัลกอริธึมที่แตกต่างกันซึ่งสามารถใช้คำนวณค่าสี 4 พิกเซล (พิกเซลใหม่ 3 อัน) เหล่านี้ควรมี:
- คุณสามารถให้พวกเขาเหมือนกับพิกเซลเดิม (ซึ่งเป็นอัลกอริทึม "ดิบ" มาก
- หรือคุณอาจเฉลี่ยค่าสีของพิกเซลดั้งเดิมด้วยค่าสีของพิกเซลใกล้เคียง
ไม่ว่าในกรณีใดก็ตามคุณกำลังสร้างภาพที่ใหญ่กว่าประกอบด้วยพิกเซล 288 แถวซึ่งแต่ละอันมีความสูง 288 พิกเซล (288x288 พิกเซล)
สิ่งที่ Gimp ทำเพื่อคุณเมื่อคุณผ่าน "รูปภาพ -> ขนาดการพิมพ์": ช่วยให้กระบวนการคำนวณการเปลี่ยนแปลงที่ต้องการในขนาดพิกเซลแบบสัมบูรณ์ง่ายขึ้นอีกครั้งทำให้ผู้ใช้เป็นมิตรมากขึ้น เพื่อจุดประสงค์นี้...
- ... ก่อนอื่นคุณจะถามเกี่ยวกับ DPI เพราะเครื่องพิมพ์ที่ระบุไม่สามารถเปลี่ยนความละเอียดการพิมพ์โดยพลการ ดังนั้นจึงขอให้คุณเลือกความละเอียดที่คุณต้องการพิมพ์ นั่นคือข้อมูลแรก
- ... แล้วก็ยังถามหาชิ้นที่สองของข้อมูล: ที่ขนาด (ใน
cm
, mm
หรือinch
) พิมพ์ออกมาจะปรากฏบนหน้ากระดาษ
ตามข้อมูล Gimp สองชิ้นนี้จากนั้นคำนวณจำนวนพิกเซลทั้งหมดที่ต้องใช้ (ประมาณจากจำนวนพิกเซลดั้งเดิม) เพื่อเติมเต็มพื้นที่ที่ร้องขอตามความละเอียดที่ร้องขอ
อย่างไรก็ตามการขยายภาพแรสเตอร์ด้วยการทำให้มีพิกเซลมากขึ้นไม่ได้เพิ่มข้อมูลจริงลงไปและมันจะเพิ่ม 'คุณภาพ' ให้กับรูปภาพที่เป็นจริงเท่านั้น มันอาจดูดีกว่าสำหรับสายตาของมนุษย์ถ้าอัลกอริธึมการเพิ่มขนาดของคุณเป็นแบบ 'ดี' และมันจะดูน่าเกลียดถ้าคุณเพียงแค่สองเท่าสามเท่าหรือสี่เท่าพิกเซลที่มีอยู่เช่นอัลกอริทึมง่าย ๆ ทำ
สำหรับภาพแรสเตอร์
การตั้งค่า DPI นั้นเกี่ยวข้องเฉพาะในบริบทของการพิมพ์หรือการแสดงเท่านั้น เนื่องจากเครื่องพิมพ์หรือจอภาพได้ให้ความละเอียดคงที่ ดังนั้นจึงเป็นข้อมูลที่มีเพียง ...
- ... ไดรเวอร์เครื่องพิมพ์หรือ
- ... แอปพลิเคชั่นประมวลผลภาพที่รองรับการพิมพ์
จำเป็นต้องรู้
และเอกสารของ ImageMagickเป็นข้อตกลงอย่างเต็มที่กับฉัน:
-density width
-density widthxheight
ตั้งค่าความละเอียดแนวนอนและแนวตั้งของภาพสำหรับ การแสดงผลไปยังอุปกรณ์
สำหรับภาพเวกเตอร์หรือรูปแบบไฟล์
(เช่น PDF หรือ PostScript) การตั้งค่า DPI แต่เป็นสิ่งสำคัญอย่างยิ่งในบริบทของ rasterizingพวกเขา DPI ที่สูงขึ้นจะถ่ายโอนข้อมูลภาพมากขึ้นในรูปแบบแรสเตอร์ดังนั้นจึงรักษารายละเอียดเพิ่มเติมจากคุณภาพดั้งเดิมที่แท้จริง เมื่อมีการแปลงภาพเวกเตอร์ของขนาดที่กำหนดในmm
,cm
หรือinch
เข้าสู่แรสเตอร์ที่มี DPI สูงโดยตรงจะแปลเป็นตัวเลขที่สูงกว่าพิกเซลทั้งหมดในภาพ
นอกจากนี้ ImageMagick ไม่รองรับ 'การพิมพ์' เช่นนี้ ImageMagick เท่านั้นแทน ...
- ... แปลงไฟล์จากรูปแบบแรสเตอร์ที่กำหนดเป็นรูปแบบแรสเตอร์อื่น ๆ
- ... หรือมันจะย่อหรือขยายภาพแรสเตอร์
- ... หรือมันจะเปลี่ยนค่าสีตามอัลกอริทึมเฉพาะ
- ... หรือมันตัดภาพซ้อนทับพวกมันกลับกระจกพวกมัน;
- ...และอะไรไม่....
... แต่หากต้องการพิมพ์ภาพที่มีการจัดการคุณต้องใช้โปรแกรมอื่น
รูปแบบภาพบางรูปแบบ (TIFF, PNG, ... ) รองรับการจัดเก็บการตั้งค่า DPI ภายในในข้อมูลเมตาของพวกเขา
แต่นี่ไม่เกินคุณสมบัติ 'คำใบ้' ที่ไม่เปลี่ยนภาพแรสเตอร์ต้นแบบ นั่นคือเหตุผลที่คุณทำการค้นพบนี้:
"เมื่อฉันตรวจสอบไฟล์มันจะยังคงเหมือนเดิม"
'คำใบ้' นี้สามารถประเมินได้โดยอัตโนมัติโดยไดรเวอร์เครื่องพิมพ์หรือโดยโปรแกรมสร้างหน้าเช่น LaTeX ในกรณีที่ไม่มี 'คำแนะนำ' DPI ดังกล่าว (หรือหากพวกเขาไม่แสดงตนในแบบที่ LaTeX คาดหวังให้พวกเขาทำ) LaTeX ยังคงสามารถสั่งให้แสดงภาพใด ๆ บนหน้าแบบที่เราคาดหวัง เพื่อ - มันต้องการรหัส LaTeX ที่ชัดเจนมากขึ้นรอบ ๆ ภาพ!
รูปแบบภาพอื่น ๆ (JPEG (?), BMP, ... ) ไม่สนับสนุนการจัดเก็บคำใบ้ DPI ไว้ที่ข้อมูลเมตาภายใน
ดังนั้น Gimp จึงรองรับเฉพาะสิ่งที่คุณเห็นว่าทำกับ "รูปภาพ -> ขนาดการพิมพ์" เพราะต้องการพิมพ์ภาพ ด้วย ImageMagick คุณไม่สามารถพิมพ์ได้
ทำสิ่งที่คุณต้องการทำกับ Gimp ต่อไปเมื่อคุณพิมพ์ มันไม่สมเหตุสมผลกับ ImageMagick
ดูตัวอย่างเพิ่มเติมเอกสาร IMนี้ซึ่งอธิบายหัวข้อเดียวกันมากในคำที่แตกต่างกัน
ดังนั้นสิ่งที่เหลืออยู่คือ:
- หากคุณ 'จัดการ' ภาพของคุณด้วย Gimp แล้วฝังผลลัพธ์ใน LaTeX หน้าเว็บจะดูเหมือนว่าคุณคาดหวังไว้
- หากคุณ 'จัดการ' รูปภาพของคุณด้วย ImageMagick แล้วฝังผลลัพธ์ใน LaTeX หน้านั้นจะดูไม่เหมือนที่คุณคาดหวัง
โปรดระบุข้อมูลต่อไปนี้เพื่อแก้ไขปัญหาข้างต้น:
- เวอร์ชันที่แน่นอนของการติดตั้ง ImageMagick ของคุณ (เอาต์พุตเต็ม
convert -version
และconvert -list configure
)
- (ลิงก์ไปยัง) ภาพตัวอย่างต้นฉบับ
- (ลิงก์ไปยัง) ภาพเดียวกันที่ Gimp จัดการ
- (ลิงก์ไปยัง) รูปภาพเดียวกันที่จัดการโดย ImageMagick
วิธีนี้เราสามารถช่วยในการแก้ปัญหา
แต่ข้อควรทราบ: นี่เป็นปัญหาที่แตกต่างจากสิ่งที่หัวเรื่อง / หัวเรื่องปัจจุบันของคุณถาม: "ฉันต้องการเปลี่ยน DPI ด้วย Imagemagick โดยไม่ต้องเปลี่ยนขนาดไบต์ของข้อมูลภาพจริง"
ปรับปรุง
เนื่องจากยังไม่ชัดเจนสำหรับผู้อ่านบางคนที่ฉันได้กล่าวถึงข้างต้นนี่คืออีกหนึ่งความพยายาม ...
สิ่งที่จะตั้งข้อสังเกตว่ามติ 'หรือความหนาแน่น'ภายในไฟล์ภาพเป็นแอตทริบิวต์ข้อมูลเมตา ไม่มีผลต่อจำนวนพิกเซลจริงที่อธิบายโดยไฟล์และไม่เกี่ยวข้องอย่างสมบูรณ์ในส่วนนี้ มันเป็นเพียงคำใบ้ที่อุปกรณ์การพิมพ์หรือการเรนเดอร์หรือแอพพลิเคชั่นอาจหรือไม่ปฏิบัติตามเมื่อทำการพิมพ์การเรนเดอร์หรือการแสดงภาพ
เพื่อจุดประสงค์นี้มันเป็นเพียงไม่กี่หมายเลขที่เก็บไว้ในไฟล์ภาพ ตัวเลขเหล่านี้บอกอุปกรณ์เอาท์พุทเช่นเครื่องพิมพ์และแสดงจำนวนจุด (หรือพิกเซล) ต่อนิ้วที่ภาพควรแสดงที่ สำหรับรูปแบบเวกเตอร์เช่น PostScript, PDF, MWF และ SVG จะบอกระดับพิกเซลในการวาดพิกัดโลกแห่งความจริงใด ๆ ที่ใช้โดยภาพ
ตัวอย่างหนึ่งที่ค่าความละเอียดที่บันทึกโดย ImageMagick ภายในข้อมูลเมตาของรูปภาพไม่ได้รับการยกย่องจากแอปพลิเคชันคือ Adobe Photoshop Photoshop เก็บคำแนะนำเกี่ยวกับการพิมพ์ที่ต้องการหรือความละเอียดของการแสดงผลในรายละเอียดที่เป็นกรรมสิทธิ์ชื่อ8bim ImageMagick ไม่ได้สัมผัสโปรไฟล์นี้แม้ว่าจะถูกขอให้เขียนความละเอียดลงในเมทาดาทาของไฟล์ภาพ Photoshop จะไม่สนใจคำแนะนำความละเอียดทั้งหมดที่จัดเก็บโดย ImageMagick ในฟิลด์ข้อมูลเมตามาตรฐานอื่นที่กำหนดไว้สำหรับจุดประสงค์นี้ทันทีที่เห็นโปรไฟล์8bimของตนเอง
OP ควรเลือกหัวข้อ:
- 'ฉันต้องการเปลี่ยน DPI (คำใบ้ความละเอียดเมทาดาทา) ด้วย ImageMagick โดยไม่เปลี่ยนจำนวนพิกเซลในภาพ'
เพื่อหลีกเลี่ยงความเข้าใจผิดทั้งหมด ...
^
ไอคอนเล็ก ๆทางด้านซ้ายของคำตอบของเขา) ไม่ใช่เพียงแค่ 'ยอมรับ' ทันทีที่คุณมีชื่อเสียงส่วนตัวเพียงพอ (ฉันคิดว่าคุณต้องการ +15) ...