Ôi trời Sau nhiều lần googling và đọc nhiều hướng dẫn sử dụng ImageMagick hơn tôi thực sự quan tâm, đây là câu trả lời. Cho rằng bạn có một hình ảnh thang độ xám được gọi source.png
, đây là các lệnh của tôi.
Để làm cho các pixel đen trong suốt và giữ các pixel trắng như hiện tại, hãy chạy lệnh này:
convert source.png -alpha copy -fx '#fff' result.png
Thay vào đó, làm cho các pixel trắng trong suốt trong khi vẫn giữ nguyên màu đen, sử dụng:
convert source.png -alpha copy -channel alpha -negate +channel -fx '#000' result.png
Hãy giải thích lệnh cuối cùng kỹ lưỡng hơn một chút:
convert
- Là lệnh ImageMagic (một trong nhiều)
source.png
- Hình ảnh nguồn greyscale.
-alpha copy
- Sao chép nội dung của tập tin trước vào kênh alpha.
-channel alpha
- Chỉ định rằng các toán tử sau chỉ ảnh hưởng đến kênh alpha.
-negate
- Đảo ngược kênh alpha (sẽ, vì trước đó -chanel alpha
không ảnh hưởng đến bất kỳ phần nào khác của hình ảnh).
+channel
- Chỉ định rằng các toán tử sau chỉ nên ảnh hưởng đến các kênh màu và không còn sửa đổi kênh alpha. (Đây là mặc định và do đó chúng tôi không cần cung cấp nó trong ví dụ đầu tiên, đơn giản hơn.)
-fx '#000'
- Thay thế nội dung kênh màu bằng pixel đen. (Vì +channel
kênh alpha sẽ không bị ảnh hưởng).
Điều khá quan trọng là bao gồm -fx
tùy chọn cuối cùng đó , nếu không tất cả các pixel bán trong suốt trong hình ảnh được tạo sẽ giữ lại màu sắc. (Vì các pixel này trong suốt một nửa, có thể không rõ ràng, nhưng kết quả cuối cùng không như mong đợi.)
Tôi thấy danh sách các tùy chọn ImageMagick khá hữu ích.