/ / Imagemagick: elimina el componente alfa (reemplaza todo píxel alfa intermedio por píxel sólido): procesamiento de imágenes, línea de comandos, imagemagick

Imagemagick: elimina el componente alfa (reemplaza todo píxel alfa intermedio por píxel sólido): procesamiento de imágenes, línea de comandos, imagemagick

Resolver Problema de compilación de Android Necesito reemplazar todos los píxeles alfa intermedios con píxeles sólidos (dejando el fondo transparente como está).

¿Cómo hacer eso con ImageMagick u otra herramienta de línea de comandos para todas las imágenes en un árbol?

Imagen bg_all_block.9.png

 bg_all_block.9.png

Imagen btn_bg_common_press.9.png

btn_bg_common_press.9.png

enter image description here

ACTUALIZACIÓN: he encontrado que puedo detectar si se utiliza alfa, como en Detecta el canal alfa con ImageMagick

Otros enlaces encontrados

Respuestas

19 para la respuesta № 1

Para eliminar el canal alfa de una sola imagen, use este comando:

convert input.png -alpha off output.png

Para eliminar el canal alfa de todas las imágenes dentro de una carpeta, haga uso find para buscar primero todos los archivos PNG y luego ejecutar "m a través de convert:

find . -name "*.png" -exec convert "{}" -alpha off "{}" ;

Por favor pruebe en una COPIA de sus archivos para estar seguro.

...

vea el cuadro de diálogo a continuación, y la respuesta se basa en que "necesitamos eliminar alfa que no es 255"

convert input.png -channel A -threshold 254 output.png

y por lote

mkdir batch
FOR %G IN (*.png) DO convert %G -channel A -threshold 254 batch%G