2016-02-01 1 views
1

J'ai besoin de convertir les fichiers png 2 existants: une zone est transparente et l'autre est opaque rouge ou bleu (un exemple ici: http://urlz.fr/31t2). Je veux garder la première zone transparente et convertir la zone opaque à 30 ou 50% d'opacité. Je cherche désespérément une solution en utilisant Imagemagick, en tant qu'ingénieur radio je ne suis pas à l'aise avec les ressources de messagerie instantanée ... Je ne peux convertir que l'image entière en X% d'opacité (convert input.png - alpha set -channel A -evaluate set 50% output.png ) mais ce n'est pas ce que je cherche!convertir le canal alpha de pixel quand alpha> 90% en utilisant imagemagick

Répondre

0

Votre question est assez difficile à comprendre, mais je pense que vous voulez ceci:

convert image.png -channel A -fx "u>0.9?0.3:u" result.png 

Partout où l'alpha est plus de 0,9, il sera mis à 0,3, sinon il sera intacte.

enter image description here

+0

Merci encore pour votre aide, si vous avez une idée de convertir de la même manière une liste de fichiers et de garder dans le nom de fichier de sortie le nom d'entrée? (input00.png => input00_modified.png) –

+0

Êtes-vous sur Windows ou Unix/Linux? –

+0

Il suffit de trouver la réponse après avoir écrit la question (j'utilise Windows): [imagemagick.org] (http://www.imagemagick.org/Usage/windows/#for_loops) –

1

Merci pour votre réponse rapide et précise à ma question pas si précis! Cela ressemble à quelque chose que je viens de trouver (sauf l'utilisation de « u » comme une variable plutôt qu'une valeur):

convert input -channel A -fx "(a>0.99)?0.3:0" output 

Bien sûr, votre écriture est plus élégant!