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
Imagen btn_bg_common_press.9.png
ACTUALIZACIÓN: he encontrado que puedo detectar si se utiliza alfa, como en Detecta el canal alfa con ImageMagick
Otros enlaces encontrados
- https://graphicdesign.stackexchange.com/questions/16120/batch-replacing-color-with-transparency
- http://www.imagemagick.org/Usage/color_basics/#replace
Respuestas
19 para la respuesta № 1Para 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