Ooookay หลังจาก googling มากมายและอ่านคู่มือ ImageMagick มากกว่าที่ฉันสนใจจริง ๆ นี่คือคำตอบ ระบุว่าคุณมีภาพสีเทาที่เรียกว่าsource.png
นี่คือคำสั่งของฉัน
ในการทำให้พิกเซลสีดำโปร่งใสและทำให้พิกเซลขาวเหมือนเดิมให้รันคำสั่งนี้:
convert source.png -alpha copy -fx '#fff' result.png
หากต้องการทำให้พิกเซลสีขาวโปร่งใสในขณะที่รักษาสีดำตามสภาพเดิมให้ใช้:
convert source.png -alpha copy -channel alpha -negate +channel -fx '#000' result.png
ลองอธิบายว่าคำสั่งสุดท้ายอีกหน่อย:
convert
- เป็นคำสั่ง ImageMagic (หนึ่งในหลาย ๆ คำสั่ง)
source.png
- ภาพต้นฉบับของเฉดสีเทา
-alpha copy
- คัดลอกเนื้อหาของไฟล์ก่อนหน้านี้ลงในช่องอัลฟา
-channel alpha
- ระบุว่าตัวดำเนินการต่อไปนี้ควรมีผลกับช่องอัลฟา
-negate
- กลับช่องอัลฟา (จะเพราะก่อนหน้านี้-chanel alpha
ไม่ส่งผลกระทบต่อส่วนอื่น ๆ ของภาพ)
+channel
- ระบุว่าตัวดำเนินการต่อไปนี้ควรมีผลกับช่องสีและไม่แก้ไขช่องอัลฟาอีกต่อไป (นี่คือค่าเริ่มต้นดังนั้นเราจึงไม่จำเป็นต้องระบุในตัวอย่างแรกที่ง่ายกว่า)
-fx '#000'
- แทนที่เนื้อหาของช่องสีด้วยพิกเซลสีดำ (เนื่องจาก+channel
ช่องอัลฟาจะไม่ได้รับผลกระทบ)
มันค่อนข้างสำคัญที่จะรวม-fx
ตัวเลือกสุดท้ายนั้นมิฉะนั้นพิกเซลกึ่งโปร่งใสทั้งหมดในภาพที่สร้างขึ้นจะคงสีไว้ (เนื่องจากพิกเซลเหล่านี้มีความโปร่งแสงครึ่งหนึ่งจึงอาจไม่ชัดเจน แต่ผลลัพธ์ที่ได้คือสิ่งที่ไม่คาดคิด)
ฉันพบรายการของตัวเลือก ImageMagickค่อนข้างมีประโยชน์