Оооокей. Після безлічі гуглінгу та читання більшої частини посібника з 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 досить корисним.