Les images ne peuvent pas contenir de canaux alpha ni de transparents


331

Apple a publié une nouvelle version d'iTunes Connect et j'ai reçu un message d'erreur lorsque j'ai essayé de définir des captures d'écran sur iTunes Connect pour mon application.

"Images can't contain alpha channels or transparencies." 

entrez la description de l'image ici


Cela n'est pas mentionné dans le guide du développeur iTunes Connect: developer.apple.com/library/ios/documentation/…
razor28

15
Convertissez simplement l'image au format JPG a fonctionné pour moi !!
Jayprakash Dubey

1
Le tout premier téléchargeur d'images que j'ai écrit moi-même pouvait prendre n'importe quel format jpeg, png ou gif, le faire pivoter correctement et produire un jpeg du niveau de compression souhaité. Apparemment, je peux faire des chargeurs d'images et Apple ne le peut pas. Et contrairement à Apple, je n'aurais jamais rêvé de forcer mes utilisateurs à "oh, il suffit de retirer l'alpha du PNG manuellement! Pour chaque image!".
Henrik Erlandsson

Il est boiteux que xcode le permette lorsque iTunes Connect ne le permet pas.
James T Snell

Réponses:


262

AFAIK png avec transparence n'est pas autorisé. utilisez jpg OU mettez à jour votre png (photoshop ou tout ce que vous utilisez pour créer le png) et supprimez les zones de transparence. si vous travaillez avec des ombres, utilisez jpg, cela ne fera pas de mal de tête.


J'ai aussi travaillé pour moi.Thx
Honey

6
JPEG est avec perte, et c'est une idée terrible, terrible. Découvrez d'autres réponses et supprimez correctement la transparence.
Rudolf Adamkovič

3
Une simple ouverture dans Aperçu et une exportation au format JPEG ont résolu le problème. La capture d'écran de l'appareil XCode enregistre en PNG, ce qui est le problème. Prendre des écrans avec l'appareil (bouton d'accueil + bouton d'alimentation) enregistre en JPEG.
Anna Billstrom

33
Vous pouvez exporter au format PNG sans alpha dans l'aperçu. Ouvrez simplement votre image, choisissez l'exportation, sélectionnez PNG, décochez Alpha et cliquez sur Enregistrer. L'aperçu prend également en charge l'exportation par lots si vous ouvrez toutes vos images à la fois.
Russell Ladd

1
Belle réponse, mais comme je le constate, le résultat .jpg n'est pas bon, donc j'ouvre simplement l'image dans Photoshop, définissez le calque d'arrière-plan et définissez sa couleur blanche afin que la transparence de l'image soit supprimée et utilisez cette image comme PNG.
Nitin Gohel

467

J'ai trouvé que vous pouvez également simplement réexporter les png dans Aperçu, mais décochez la case Alpha lors de l'enregistrement.

entrez la description de l'image ici


48
Il est ridicule qu'iTunes Connect n'accepte pas les captures d'écran générées par Xcode, car c'est ainsi qu'ils vous recommandent de le faire.
Joseph Toronto

Pour une raison inexplicable, quand je fais cela, il coupe les dimensions de moitié et est maintenant "de mauvaise taille" pour iTC! WTF Apple ???
mharper

13
Il est compréhensible qu'avec seulement 178 milliards de dollars en espèces, Apple ne puisse pas se permettre de corriger ce bug stupide et nécessite des dizaines de milliers de développeurs pour effectuer eux-mêmes cette opération, maintes et maintes fois. Pouah.
Nate

est-ce que je peux donner à cette personne 100 votes pour résoudre mon problème
Noor

2
double-cliquez sur la photo "fichier" -> "Exporter ..."
Arjay Waran

102

c'est si facile ...

Ouvrez l'image dans l' aperçu, cliquez sur Fichier -> Exporter et décochez alpha


Cela ne fonctionnera pas sur Mac OS High Sierra, veuillez essayer une version inférieure pour exporter sans alpha. J'espère que cela aide quelqu'un.
Satheeshwaran

Solution très simple. Merci!
Lina T

Travaille à Catalina. Remplace toute transparence par du blanc.
Marcy

85

Pour cela, j'ai créé un nouvel outil simple. Vous pouvez supprimer le canal alpha (transparence) de plusieurs fichiers .png en quelques secondes.

Suppresseur de canal alpha

Vous pouvez télécharger ici http://alphachannelremover.blogspot.com


17
Je vous remercie. Je déteste qu'Apple ait ajouté une autre étape au processus de capture, d'enregistrement et d'envoi de captures d'écran à la boutique iTunesConnect.
Andrew Smith

2
Cet outil est très simple mais assez utile. Sinon, j'ai dû passer du temps avec l'App Preview d'Apple pour supprimer la transparence une par une, ce qui prend beaucoup de temps. Il est maintenant possible de créer plusieurs fichiers en un seul coup.
bpolat

1
Très pratique, merci! Pour tous les programmeurs d'Apple, on pourrait penser qu'ils pourraient simplement supprimer automatiquement le canal alpha. Je jure qu'aucune des icônes que j'ai téléchargées n'avait de transparence, mais j'ai échoué dans la soumission simplement parce qu'elles étaient enregistrées dans un format qui permettait la transparence. soupir
devios1

2
Je vous en prie. En fait, j'ai créé le programme pour moi-même en raison de la frustration que j'ai ressentie lors de la soumission de mes applications à Apple, puis j'ai décidé de le partager avec la communauté ici, il est open source sur github, vous pouvez jeter un œil au code ou utiliser comme vous le souhaitez.
bpolat

1
Parfait! Tu m'as sauvé une heure ou deux aujourd'hui. 475 images à télécharger en raison d'une refonte!
Nancy

73

Utilisez l' mogrifyoutil du ImageMagickpackage pour supprimer le canal alpha.

brew install imagemagick
cd folder_with_images
mogrify -alpha off */*.png

Mise à jour du 3 mai

Vous pouvez savoir si l'image contient un canal alpha en exécutant:

sips -g all image.png

Si vous effectuez un rendu des captures d'écran dans iOS Simulator, vous pouvez supprimer le canal alpha en passant BOOL opaque = YESà UIGraphicsBeginImageContextWithOptions:

UIGraphicsBeginImageContextWithOptions(imageSize, YES, 0); 

3
La sortie plus courte pour vérifier l'alpha peut être obtenue avec la commandesips -g hasAlpha *.png
Anton Matosov

mogrify -alpha off 👍
système

27

Vous devez supprimer les canaux alpha lorsque vous téléchargez une photo sur iTunes Connect.

Vous pouvez le faire par Aperçu, Application Photos (ancien iPhoto), Pixelmator, Adobe Photoshop et GIMP.

Aperçu

1- Ouvrez la photo dans Aperçu (si la photo est dans votre album photo dans l'application Photos (l'ancien iPhoto), puis faites-la simplement glisser de l'album vers le bureau. Ensuite, faites un contrôle-clic (clic droit lorsque la souris) la photo dupliquée et sélectionnez Preview.app dans le menu Ouvrir avec).

2- Sélectionnez Exporter ... dans le menu Fichier, et après avoir sélectionné la destination, décochez Alpha en bas et cliquez sur Exporter .

Fichier ==> Exporter ...

Alpha

Pixelmator

1- Ouvrez l'image dans Pixelmator, sans créer de nouveau fichier Pixelmator . Faites simplement glisser la photo vers la fenêtre Pixelmator.

2- Dans le menu Partager, cliquez sur Exporter pour le Web ...

PM

3- Dans la barre supérieure, désélectionnez Transparence .

4- Cliquez sur Suivant , puis enregistrez le nouveau fichier quelque part.

Enfin, téléchargez la nouvelle photo sur iTunes Connect.

GIMP

1- Ouvrez la photo dans GIMP.

2- Ouvrez le menu Calque .

3- Sous Transparence , cliquez sur Supprimer le canal alpha .

4- Enregistrez la photo.

Adobe Photoshop

1- Ouvrez la photo dans Adobe Photoshop.

2- Dans le menu Calque , cliquez sur Masque de calque puis sur À partir de la transparence .

3- Supprimez le masque de calque en cliquant avec le bouton droit sur le masque dans le panneau Calque et en sélectionnant Supprimer le masque de calque .


1
Cela ne fonctionnera pas sur Mac OS High Sierra, veuillez essayer une version inférieure pour exporter sans alpha. J'espère que cela aide quelqu'un.
Satheeshwaran

11

Si vous utilisez Photoshop, choisissez Fichier> Enregistrer pour le Web (Commande + Option + Maj + S). Assurez-vous que la transparence n'est pas cochée et cela devrait fonctionner.


Étrange. Cela fonctionne pour une seule image. Mais lorsque j'essaie d'enregistrer des actions et d'effectuer une exportation par lots - les images résultantes ont toujours l'alpha.
kelin

6

Encore un problème en 2019: =)

Cela a fonctionné pour moi: Sélectionnez toutes les images que vous souhaitez télécharger -> Clic droit -> Ouvrir dans l'aperçu -> Exporter -> Décocher alpha -> Utiliser les images exportées.


5

Sur Pixelmator, vous pouvez utiliser 'Partager> Exporter pour le Web ...' ( + + E)

entrez la description de l'image ici

et désélectionnez Transparence dans la barre d'options d'outils.

entrez la description de l'image ici


5

Extension de la réponse de Roman B. C'est toujours un problème, je téléchargeais une application cordova. ma solution en utilisant mogrify:

brew install imagemagick
* navigate to `platforms/ios/<your_app_name>/Images.xcassets/AppIcon.appiconset`*
mogrify -alpha off *.png

Puis archivé et validé avec succès. 👍


4

J'ai le même problème, il suffit de compresser votre fichier png sur https://tinypng.com/ en ligne, puis d'essayer de télécharger ce nouveau fichier png compressé.

son travail pour moi.


Cela n'a pas fonctionné pour moi - il y avait toujours un canal alpha
Andrew


3

Vous pouvez supprimer le canal alpha d'un fichier PNG à partir de la ligne de commande avec pngcrush, en utilisant le drapeau "-c 2":

$ file input.png
input.png: PNG image data, 1024 x 1024, 8-bit/color RGBA, non-interlaced
$ pngcrush -q -c 2 input.png output.png
libpng warning: iCCP: known incorrect sRGB profile
$ file output.png
output.png: PNG image data, 1024 x 1024, 8-bit/color RGB, non-interlaced

Notez le passage de RGBA à RGB: le canal Alpha est parti!

pngcrush vit à http://pmt.sourceforge.net/pngcrush/


2

Face au même problème, essayez d'utiliser le format JPG !! Ce qui a fonctionné pour moi ici, c'était d'utiliser un fichier jpg au lieu de PNG car les fichiers jpg n'utilisent pas de fonctionnalités alpha ou de transparence. Je l'ai fait via un convertisseur d'image en ligne ou vous pouvez également ouvrir l'image en aperçu, puis Fichier-> Exporter et décocher alpha comme option pour enregistrer l'image et utiliser cette image.


1

Pour contourner le problème, j'ai converti par lots à l'aide de feux d'artifice mes fichiers png32 en png24 pour un téléchargement rapide et facile. Jpeg fonctionne aussi mais c'est avec perte.



1

Photoshop

  1. Tranchez-le
  2. Enregistrer pour le Web
  3. Décochez Transparence

0

Si imagemagick est installé, vous pouvez mettre l'alias suivant dans votre .bash_profile. Il convertira chaque png d'un répertoire en jpg, ce qui supprime automatiquement l'alpha. Vous pouvez utiliser les fichiers jpg résultants comme captures d'écran.

alias pngToJpg='for i in *.png; do convert $i ${i/.png/}.jpg; done'

jpg signifie dégradation de la qualité, je ne le ferais pas, seulement si j'ai vraiment besoin qu'il soit réellement plus petit.
Zsolt Szatmari

0

Ce qui a fonctionné pour moi ici, c'était d'utiliser un fichier jpg au lieu de PNG car les fichiers jpg n'utilisent pas de fonctionnalités alpha ou de transparence. Je l'ai fait via un convertisseur d'image en ligne ou vous pouvez également ouvrir l'image en aperçu, puis Fichier-> Exporter et décocher alpha comme option pour enregistrer l'image et utiliser cette image.


Oui, mais vous demandez des ennuis avec jpeg. Ils sont intrinsèquement conçus pour des images `` bruyantes '' comme les photos, mais conduisent à des artefacts sur des images avec beaucoup de couleurs de bloc et des bords droits comme des captures d'écran.
JamEngulfer

0

Vous pouvez simplement créer un nouveau document Photoshop et définir son arrière-plan par défaut sur Blanc au lieu de Transparent. Ensuite, copiez et collez votre image dans le document nouvellement créé et enregistrez-le.


0

Vous pouvez exporter au format PNG sans alpha dans l'aperçu. Ouvrez simplement votre image, choisissez l'exportation, sélectionnez PNG, décochez Alpha et cliquez sur Enregistrer. L'aperçu prend également en charge l'exportation par lots si vous ouvrez toutes vos images en même temps.


0

Exportation depuis Sketch

Pour éviter la transparence, assurez-vous qu'aucun calque ne dépasse les limites de la planche graphique.


-2

Convertissez votre image PNG au format JPEG.


ITunes Connect n'accepte pas le jpeg pour certaines choses. L'icône de l'application IOS doit être png, par exemple.
eclux
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.