J'ai une image en niveaux de gris. Je veux le convertir en PNG transparent, de sorte que les pixels noirs (dans l'image d'origine) deviennent complètement opaques, les pixels blancs deviennent entièrement transparents, un pixel gris à 50% deviendrait transparent à 50%, et ainsi de suite pour toutes les nuances entre.
Comment puis-je atteindre cet objectif?
(Oui, je sais que c'est presque la même question que la conversion de nuances de gris en canal alpha , mais je veux savoir comment faire cela en utilisant uniquement des outils de ligne de commande - par exemple ImageMagick ou NetPBM.)
Voici un exemple de résultat de la question susmentionnée. Cet exemple est un résultat que j'aimerais obtenir en utilisant uniquement des outils de ligne de commande.
Si vous ouvrez ce PNG dans une visionneuse qui prend en charge la transparence, vous verrez ce que je veux dire.
Avec ImageMagick 7.0, la réponse ci-dessus ne l'est plus. Mais vous pouvez utiliser:
convert source.png -channel rgb -fx '#fff' result.png
Aka, remplissez les canaux RVB de blanc et laissez l'alpha comme avant.
la source
Avec imagemagick 7, je trouve qu'il est nécessaire de spécifier
-channel RGB
avant le-fx
, sinon vous obtenez une image noire solide, comme ceci:Et la négation est utile si vous voulez que le noir soit opaque et le blanc transparent:
la source