it-swarm.com.de

Entfernen Sie den Alphakanal in einem Bild

Ich habe ein App-Symbol für iOS, aber Apple lässt kein Alpha im Bild zu. Wie entferne ich diesen Alphakanal? Ich habe nur das PNG-Bild bei mir. Ich habe keine Quelldatei, da mein Freund das Bild für mich gemacht hat.

56
zbz.lvlv

Vorausgesetzt, Sie haben keinen anderen Bildeditor, können Sie ihn in der Vorschau auf Ihrem Mac öffnen und die Option Export verwenden, um ihn in einem anderen Format zu speichern zu JPG (beste Qualität), öffnen Sie das und exportieren Sie es erneut als PNG.

Ich vermute jedoch, dass Sie wahrscheinlich ein Symbol mit einem Transparenzkanal einreichen können, solange es keine tatsächliche Transparenz gibt.

34
danielquokka

Die akzeptierte Antwort für den Export nach JPG und dann zurück nach PNG wird nicht empfohlen.

  • Es ist ein zusätzlicher Schritt im Prozess (2 Exporte)
  • JPG ist verlustbehaftet, daher gehen einige Bilddaten verloren

Hier ist eine superschnelle und einfache Möglichkeit, dies ohne zusätzlichen Export oder Einsparung in (verlustbehaftetes) JPG zu tun:

Verwenden der Vorschau-App (Mac):

  1. Öffne das Bild
  2. Command-Shift-S zum Duplizieren (erstellt eine Kopie)
  3. Befehl-S zum Speichern
  4. Deaktivieren Sie das Kontrollkästchen "Alpha"
  5. Löschen Sie "copy" von Dateiname (einschließlich Leerzeichen)
    • Dadurch wird das Original überschrieben. Wenn Sie das Original behalten möchten, lassen Sie einfach "Kopie" im Namen
  6. Sparen
  7. Klicken Sie auf "Ersetzen", um zu bestätigen, dass Sie das Original überschreiben möchten
    • Nur erforderlich, wenn Sie Ihr Original überschreiben  remove alpha channel
140
Mycah

Wenn Sie die Preview-App verwenden, müssen Sie nicht zwischen jpg und png exportieren, sondern erneut exportieren. Wählen Sie einfach export aus und unter dem Dateityp (PNG) wird ein Kontrollkästchen für Alpha angezeigt.

31
ospfranco

Es ist nicht erforderlich, das Bild zuerst in jpg zu exportieren. Sie können das Kontrollkästchen für den Alphakanal deaktivieren und direkt von einem PNG-Code in einen PNG-Kanal ohne Alphakanal in der Vorschau-App exportieren.

 enter image description here

12
Stefan

Sie können Imagemagick ausprobieren (auch für verschiedene Größen leicht skalierbar):

convert in.png -background black -alpha remove -alpha off -resize 1024x1024 out.png
9
Psychomentality

wenn Sie den gesamten Alphakanal aus dem Verzeichnis mit Symbolen entfernen möchten, verwenden Sie diesen Befehl:

for i in `ls *.png`; do convert $i -background black -alpha remove -alpha off $i; done

wenn Sie Mac OS Mojave haben und "Konvertierungsbefehl nicht gefunden" haben

brew install imagemagick

Homebrew installieren

Ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" < /dev/null 2> /dev/null
7
Nikita Pushkar

So entfernen Sie den Alphakanal von png:

auf dem Mac: Die Preview-Version 9.0 (macOS Sierra) kann den Alphakanal entfernen, wenn Sie das Bild exportieren oder speichern.

In der Vorschauversion 10.0 (944.2) (macOS High Sierra) wird der Alphakanal nicht entfernt Beim Exportieren und/oder Speichern wird der Alphakanal nicht aus dem Bild entfernt.

5
Hynek

Beim Versuch, meine App in den iTunes App Store hochzuladen, wurde folgender Fehler angezeigt:

iTunes Store-Vorgänge sind fehlgeschlagen

Fehler ITMS-90717: "Ungültiges App Store-Symbol. Das App Store-Symbol im Asset-Katalog in 'MyApp.app' kann weder transparent sein noch einen Alphakanal enthalten."

Ich habe bestätigt, dass meine App Store-Symbole den Alphakanal enthalten, indem Sie das Asset im Finder suchen und seine Informationen nachschlagen (⌘ + i). Unter Mehr Infos zeigte es:

Alphakanal: Ja

Die obige Lösung wurde gefunden, um den Alphakanal in der Vorschau zu entfernen, indem er mit dem Kontrollkästchen "Alpha" exportiert wurde, aber er konnte einen Batch-Export durchführen, da ich 18 Assets hatte, aus denen ich den Alphakanal entfernen musste.

Beim Batch-Exportieren zur Arbeit habe ich alle Finder-App-Elemente im Finder> Rechtsklick> Öffnen (oder Öffnen mit Vorschau) ausgewählt.

Alle Assets werden jetzt in demselben Fenster angezeigt. Wählen Sie alle aus (⌘ + a) und wählen Sie dann Datei> Ausgewählte Bilder exportieren…> Einblenden Optionen> Deaktivieren Sie das Kontrollkästchen "Alpha"> Wählen Sie (Ihren Zielordner).

Erledigt! Alle Ihre Bilder werden jetzt exportiert, wobei der Alphakanal entfernt ist.

5
Toland Hon

Nun, da Sie sich auf einem Mac befinden, möchten Sie beim nächsten Mal wahrscheinlich nur Automator verwenden. Konvertieren Sie das Bild in BMP (verlustfrei) und zurück in PNG. Lass es retten und voila ...

2
Anticro

das Alpha-Kontrollkästchen ist in der Vorschau nicht mehr vorhanden

1
vboombatz

Ich habe Nikita Pushkars sehr schöne Lösung in ein Shell-Skript eingefügt, das alle in res/icon/ios gefundenen iOS-Symbole konvertiert:

Es verwendet Brew, um Imagemagick zu installieren, falls es nicht verfügbar ist. Ich denke, dass es nur auf Mac läuft.

#! /usr/bin/env bash
#
# remove alpha channel from PNG images when App Store upload fails
#
# taken from https://stackoverflow.com/a/52962485 - @Nikita Pushkar
#
# make sure to have brew installed, see https://brew.sh:
#   /usr/bin/Ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
#
# make sure to have imagemagick installed, see https://imagemagick.org:
#   brew install imagemagick
#

if command -v convert; then
    echo "imagemagick seems to be installed"
else
    echo "imagemagick not installed, trying to install ..."
    if command -v brew; then
        echo "brew is installed, using it"
    else
        echo "brew not installed, trying to install ..."
        /usr/bin/Ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    fi

    brew install imagemagick
fi

for i in `ls res/icon/ios/*.png`;
do
    echo "convert $i"
    convert $i -background white -alpha remove -alpha off $i;
done
0
Pedi T.