Eliminar canal alfa en una imagen


Tengo un icono de aplicación para iOS, pero Apple no permite que alpha esté en la imagen. Cómo eliminar este canal alfa? Solo tengo la imagen png conmigo No tengo el archivo fuente como mi amigo hizo la imagen para mí.

Author: zbz.lvlv, 2014-10-03

9 answers

Suponiendo que no tenga otro editor de imágenes, puede abrirlo en Vista previa en su Mac y usar la opción Exportar para volver a guardarlo en un formato diferente: para asegurarse de deshacerse del canal alfa, podría ser mejor exportarlo a JPG (mejor calidad), luego abrirlo y exportarlo como PNG nuevamente.

Dicho esto, sospecho que probablemente estés de acuerdo en enviar un icono con un canal de transparencia siempre y cuando no haya transparencia real.

 31
Author: danielquokka,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-10-03 10:33:57

No se recomienda la respuesta aceptada para exportar a JPG y luego volver a PNG.

  • Es un paso adicional en el proceso (2 exportaciones)
  • JPG tiene pérdidas, por lo que perderá algunos datos de imagen

Aquí hay una manera súper rápida y fácil de hacer esto sin la exportación adicional o guardar en JPG (con pérdida):

Uso de la aplicación Preview (Mac):

  1. Abre la imagen
  2. Comando-Shift-S para Duplicar (crea un copy)
  3. Comando-S para Guardar
  4. Anule la selección de la casilla "Alfa"
  5. Eliminar "copiar" del nombre de archivo (incluyendo el espacio)
    • Esto sobrescribirá su original, si desea conservar el original, simplemente deje "copia" en el nombre
  6. Guardar
  7. haga Clic en "Reemplazar" para confirmar que desea sobrescribir el original
    • Solo es necesario si está sobrescribiendo su original eliminar canal alfa
 114
Author: Mycah,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-08-08 21:50:08

Si está utilizando la aplicación de vista previa, no hay necesidad de exportar y luego reexportar entre jpg y png, solo elija exportar y debajo del tipo de archivo (PNG) verá una casilla de verificación alfa, desactive y guarde.

 27
Author: ospfranco,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-02-12 20:07:06

No es necesario exportar la imagen a jpg primero. Puede desmarcar la casilla de verificación para el canal alfa y exportar directamente desde un png a un png sin canal alfa en la aplicación vista previa.

introduzca la descripción de la imagen aquí

 10
Author: Stefan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-12-08 22:47:27

Puede probar imagemagick (también puede cambiar fácilmente el tamaño para diferentes tamaños):

convert in.png -background black -alpha remove -alpha off -resize 1024x1024 out.png
 8
Author: Psychomentality,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-09-28 08:06:14

Acabo de recibir el siguiente error al intentar cargar mi aplicación a la tienda de aplicaciones de iTunes:

Las operaciones de iTunes Store Fallaron

ERROR ITMS-90717: "Icono de App Store no válido. El icono de App Store en el catálogo de activos en ' MyApp.app ' no puede ser transparente ni contener un canal alfa."

Confirmé que mis iconos de la tienda de aplicaciones incluían el canal alfa al ubicar el activo en Finder y buscar su información (⌘+i). Debajo de Más información, se mostró:

Canal alfa: Sí

Encontré la solución anterior para usar Vista previa para eliminar el canal alfa exportándolo con la casilla de verificación Alfa desactivada, pero descubrí una manera de exportarlos por lotes ya que tenía 18 activos de los que necesitaba despojar el canal alfa.

La forma en que conseguí exportar por lotes para trabajar fue seleccionar todos los recursos de iconos de mi aplicación en finder > clic derecho > abrir (o abrir con vista previa)

Todos los activos aparecerán ahora en la misma ventana. Seleccionar todos (all + a), y luego seleccione Archivo > Exportar imágenes seleccionadas {>Expandir opciones > desmarque la casilla de verificación Alfa > Elegir (su carpeta de destino)

Hecho! Todas sus imágenes ahora se exportan con el canal alfa despojado.

 4
Author: Toland Hon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-11-14 02:18:55

Para eliminar el canal alfa de png:

En Mac: La versión de vista previa 9.0 (macOS Sierra) puede eliminar el canal alfa si exporta o guarda la imagen.

La versión de vista previa 10.0 (944.2) (macOS High Sierra) no elimina el canal alfa. Tanto Exportar como Guardar no eliminan el canal alfa de la imagen.

 4
Author: Hynek,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-12-01 02:32:51

Bueno, ya que estás en una Mac, la próxima vez probablemente solo quieras usar Automator. Convierta la imagen a BMP (sin pérdidas) y vuelva a PNG. Deja que salve y voila...

 2
Author: Anticro,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-10-19 18:34:26

La casilla de verificación alfa ya no está allí en vista previa

 0
Author: vboombatz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-01-04 19:51:27