ImageMagick

ImageMagick เป็น โอเพ่นซอร์ส ชุดของ บรรทัดคำสั่ง เครื่องมือสำหรับจัดการภาพดิจิทัล มีประโยชน์สำหรับการประมวลผลภาพจำนวนมากเป็นชุด หรือเพื่อดำเนินการแก้ไขภาพที่แม่นยำอย่างรวดเร็ว
สามารถดาวน์โหลด ImageMagick ได้จากเว็บไซต์ทางการ ImageMagick.org .
ประวัติศาสตร์
การพัฒนา ImageMagick เริ่มขึ้นใน 2530 ประพันธ์โดยวิศวกรซอฟต์แวร์ John Cristy วันนี้ ImageMagick เป็นองค์ประกอบเริ่มต้นของหลาย ๆ ลินุกซ์ และ BSD ระบบปฏิบัติการ และสามารถใช้ได้ฟรีสำหรับ Microsoft Windows , macOS และ iOS
คุณสมบัติและเครื่องมือ
คุณสมบัติของ ImageMagick แบ่งออกเป็นเครื่องมือแต่ละอย่าง แต่ละอย่างมีคำสั่ง
คำสั่ง | คำอธิบาย |
---|---|
เคลื่อนไหว | แสดงลำดับภาพเป็นภาพเคลื่อนไหว |
เปรียบเทียบ | วิเคราะห์ภาพสองภาพ และแสดงภาพความแตกต่างทางคณิตศาสตร์ระหว่างภาพทั้งสอง |
คอมโพสิต | เขียนภาพหนึ่งทับอีกภาพหนึ่งด้วยตัวแปร ความโปร่งใส เพื่อสร้างภาพซ้อน |
คิดในใจ | ตีความ และดำเนินการ สคริปต์ เขียนด้วย MSL ภาษาสคริปต์ Magick |
แปลง | แปลงภาพจากหนึ่ง รูปแบบไฟล์ ไปอีก เครื่องมือนี้ยังสามารถเบลอ ครอบตัด ลบจุด แยกสี และแก้ไขเนื้อหาของรูปภาพได้ |
แสดง | โปรแกรมดูรูปภาพอย่างง่าย |
แยกแยะ | แสดงขนาดรูปภาพ คุณภาพ และรูปภาพอื่นๆ ข้อมูลเมตา . |
นำเข้า | จับภาพหน้าจอเป็นไฟล์รูปภาพ |
เยาะเย้ย | แก้ไขรูปภาพ คล้ายกับการแปลง แต่เขียนทับภาพต้นฉบับ |
การติดตั้ง | สร้างภาพที่ประกอบด้วยภาพที่เล็กกว่า คำสั่งนี้สามารถสร้างภาพเดียวที่มีภาพขนาดย่อของหลายภาพ |
กระแส | ประมวลผลข้อมูลรูปภาพและจัดเก็บไว้ในไฟล์ในขณะที่กำลังสตรีมจากแหล่งอินพุต มีประโยชน์สำหรับสถานการณ์ที่มีการสตรีมข้อมูลช้า หรือรูปภาพขนาดใหญ่มากซึ่งการประมวลผลข้อมูลควรเริ่มต้นก่อนที่ภาพทั้งหมดจะถูกจัดเก็บ |
ในเวอร์ชัน 7 ของ ImageMagick เครื่องมือเหล่านี้สามารถเข้าถึงได้ด้วย magick คำสั่ง เช่น มายากลเปรียบเทียบ . นอกจากนี้ยังสามารถเข้าถึงตัวแปลสคริปต์ด้วย magick-script .
คำสั่ง เคลื่อนไหว , แสดง , และ นำเข้า ต้องใช้เซิร์ฟเวอร์ X (ระบบ X Window ) เพื่อทำงาน หากคุณไม่ได้ใช้ Linux หรือ BSD คุณสามารถเรียกใช้คำสั่งเหล่านี้บน macOS ด้วย XQuartz หรือบน Microsoft Windows ที่มี VcXsrv
ตัวอย่างคำสั่ง
ต่อไปนี้เป็นคำสั่งตัวอย่างที่คุณสามารถใช้กับ ImageMagick
ตัวอย่างที่ 1: ปรับขนาดภาพ ระบุคุณภาพของภาพ
convert myimage.jpg -resize 25% -quality 92 output1.jpg
ลดขนาดภาพลง 25% และบันทึกที่คุณภาพของภาพ 92% เป็นไฟล์ output1.jpg
input.jpg | output1.jpg |
---|---|
![]() | ![]() |
ตัวอย่างที่ 2: ปรับขนาดและหมุนข้อมูลภาพ
convert input.jpg -distort SRT .5,135 output2.jpg
ใช้ -บิดเบือน SRT (สเกล หมุน แปล) ประเภทการบิดเบือนเพื่อปรับขนาดภาพ 50% และหมุนตามเข็มนาฬิกา 135 องศา ขนาดของภาพสุดท้ายยังคงเท่าเดิม โดยเสริมด้วยสีขาวตามค่าเริ่มต้น
input.jpg | output2.jpg |
---|---|
![]() | ![]() |
ตัวอย่างที่ 3: เพิ่มเอฟเฟกต์การหมุน ปรับขนาด
convert input.jpg -swirl 720 -resize 120% output3.jpg
หมุนรูปภาพ 720 องศาและปรับขนาดเป็น 120%
input.jpg | output3.jpg |
---|---|
![]() | ![]() |
ตัวอย่างที่ 4: สร้างภาพตัดต่อภาพขนาดย่อ
montage -label '%f' input.jpg output*.jpg -frame 3 -background '#2B81EE' montage.jpg
สร้างรูปภาพที่มีรูปขนาดย่อของ input.jpg และรูปภาพที่ส่งออกทั้งหมด (โดยใช้ปุ่ม ตัวแทน * ). ตัวเลือกระบุป้ายกำกับชื่อไฟล์ เฟรม 3 พิกเซล สีพื้นหลังสีน้ำเงิน และชื่อไฟล์เอาต์พุต montage.jpg ภาพขนาดย่อแต่ละภาพมีขนาดแตกต่างกัน
montage.jpg |
---|
![]() |
ตัวอย่างที่ 5: ดูข้อมูลเมตาของไฟล์
identify *.jpg
แสดงข้อมูลไฟล์สำหรับภาพ jpg ทั้งหมดในไดเร็กทอรีปัจจุบัน
input.jpg[1] JPEG 200x200 200x200+0+0 8-bit sRGB 17.5KB 0.000u 0:00.000
montage.jpg[3] JPEG 268x296 268x296+0+0 8-bit sRGB 26.1KB 0.000u 0:00.000
output1.jpg[4] JPEG 50x50 50x50+0+0 8-bit sRGB 2.99KB 0.000u 0:00.000
output2.jpg[5] JPEG 200x200 100x100+0+0 8-bit sRGB 10.4KB 0.000u 0:00.000
output3.jpg[6] JPEG 240x240 240x240+0+0 8-bit sRGB 37.1KB 0.000u 0:00.000
เอกสารและข้อมูลเพิ่มเติม
เอกสาร ImageMagick รวมถึงตัวอย่างมากมายอยู่ใน on เว็บไซต์อย่างเป็นทางการ .
ช่องโหว่ 2016
ใน 2016 พบช่องโหว่ด้านความปลอดภัยที่สำคัญในวิธีที่ ImageMagick ประมวลผลชื่อไฟล์ ชื่อเล่น 'ImageTragick' ซึ่งเป็นช่องโหว่ด้านความปลอดภัยที่อาจอนุญาตให้ RCE (การเรียกใช้โค้ดจากระยะไกล) โดยผู้โจมตีบนเซิร์ฟเวอร์ เว็บไซต์หลายพันแห่งได้รับผลกระทบ แต่ช่องโหว่ได้รับการแก้ไขและแก้ไขอย่างรวดเร็ว
รายการ CVE ทั้งหมดสำหรับ ImageMagic อยู่ที่ CVEDetails.com .