oooo. Setelah banyak googling, dan membaca lebih banyak manual ImageMagick daripada yang sebenarnya saya pedulikan, inilah jawabannya. Mengingat Anda memiliki gambar skala abu-abu yang disebut source.png
, inilah perintah saya.
Untuk membuat buat piksel hitam transparan dan pertahankan piksel putih apa adanya, jalankan perintah ini:
convert source.png -alpha copy -fx '#fff' result.png
Sebagai gantinya membuat piksel putih transparan sambil mempertahankan warna hitam apa adanya, gunakan:
convert source.png -alpha copy -channel alpha -negate +channel -fx '#000' result.png
Mari kita jelaskan perintah terakhir itu sedikit lebih teliti:
convert
– Apakah perintah ImageMagic (salah satu dari beberapa)source.png
– Gambar sumber skala abu-abu.-alpha copy
– Salin konten file sebelumnya ke saluran alfa.-channel alpha
– Tentukan bahwa operator berikut hanya memengaruhi saluran alfa.-negate
– Balikkan saluran alfa (akan, karena-chanel alpha
sebelumnya tidak memengaruhi bagian lain dari gambar).+channel
– Tetapkan bahwa operator berikut hanya boleh memengaruhi saluran warna, dan tidak lagi mengubah saluran alfa. (Ini adalah default, dan karena itu kami tidak perlu menyediakannya di contoh pertama yang lebih sederhana.)-fx '#000'
– Ganti konten saluran berwarna dengan piksel hitam. (Karena+channel
saluran alfa tidak akan terpengaruh).
Sangat penting untuk menyertakan -fx
terakhir itu opsi, jika tidak semua piksel semi-transparan pada gambar yang dihasilkan akan mempertahankan warna. (Karena piksel ini setengah transparan, mungkin tidak terlihat jelas, tetapi hasil akhirnya tidak seperti yang diharapkan.)
Saya menemukan daftar opsi ImageMagick cukup berguna.