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ค่อนข้างมีประโยชน์