Le immagini non possono contenere canali alfa o lucidi


331

Apple ha rilasciato una nuova versione di iTunes Connect e ho ricevuto un messaggio di errore quando ho provato a impostare Screenshot su iTunes per la mia app.

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

inserisci qui la descrizione dell'immagine


Ciò non è menzionato nella Guida per gli sviluppatori di
razor28

15
Converti semplicemente l'immagine in formato JPG ha funzionato per me !!
Jayprakash Dubey,

1
Il primo uploader di immagini che ho scritto da solo potrebbe prendere jpeg, png o gif di qualsiasi dimensione, ruotarlo correttamente e produrre un jpeg del livello di compressione desiderato. Apparentemente posso fare uploader di immagini e Apple no. E a differenza di Apple, non avrei mai sognato di costringere i miei utenti a "oh, basta togliere manualmente l'alfa dal PNG! Per ogni immagine!".
Henrik Erlandsson,

È logico che xcode lo consenta quando iTunes Connect non lo fa.
James T Snell,

Risposte:


262

AFAIK png con trasparenza non è consentito. usa jpg O aggiorna il tuo png (photoshop o qualunque cosa tu stia usando per creare il png) ed elimina le aree di trasparenza. se lavori con le ombre, usa jpg, che non farà mal di testa.


Ha funzionato anche per me. Grazie
Honey,

6
JPEG è in perdita ed è un'idea terribile, terribile. Controlla altre risposte e rimuovere correttamente la trasparenza.
Rudolf Adamkovič,

3
La semplice apertura in Anteprima e l'esportazione in JPEG hanno risolto il problema. Lo screenshot del dispositivo XCode salva in PNG, che è il problema. Scattare schermate con il dispositivo (pulsante Home + pulsante di accensione) consente di salvare in JPEG.
Anna Billstrom,

33
Puoi esportare in PNG senza alfa in Anteprima. Apri la tua immagine, scegli Esporta, seleziona PNG, deseleziona Alpha e fai clic su Salva. L'anteprima supporta anche l'esportazione batch se si aprono tutte le immagini contemporaneamente.
Russell Ladd,

1
Bella risposta ma, come noto, il risultato jpg non va bene, quindi apro l'immagine in Photoshop per impostare il livello di sfondo e impostare il suo colore bianco in modo che la trasparenza dell'immagine venga rimossa e uso questa immagine come PNG.
Nitin Gohel,

467

Ho scoperto che puoi anche riesportare i png in Anteprima, ma deseleziona la casella Alpha durante il salvataggio.

inserisci qui la descrizione dell'immagine


48
È ridicolo che iTunes Connect non accetti schermate generate da Xcode considerando che è così che ti consigliano di farlo.
Joseph Toronto,

Per qualche motivo inspiegabile, quando lo faccio, dimezza le dimensioni e ora è "dimensione sbagliata" per iTC! WTF Apple ???
mharper

13
È comprensibile che con solo $ 178 miliardi in contanti a disposizione, Apple non possa permettersi di risolvere questo stupido bug e richiede che decine di migliaia di sviluppatori eseguano noiosamente questa operazione ripetutamente, ancora e ancora. Ugh.
Nate,

Vorrei poter dare a questa persona 100 voti per aver risolto il mio problema
Noor,

2
doppio clic sulla foto "file" -> "Esporta ..."
Arjay Waran,

102

è così facile ...

Apri l'immagine nell'app Anteprima fai clic su File -> Esporta e deseleziona alfa


Questo non funzionerà su Mac OS High Sierra, prova una versione inferiore per esportare senza alfa. Spero che aiuti qualcuno.
Satheeshwaran,

Soluzione molto semplice. Grazie!
Lina T,

Lavora in Catalina. Sostituisce qualsiasi trasparenza con il bianco.
Marcy,

85

Per questo ho realizzato un nuovo strumento semplice. Puoi rimuovere il canale alfa (trasparenza) di più file .png in pochi secondi.

Alpha Channel Remover

Puoi scaricare da qui http://alphachannelremover.blogspot.com


17
Grazie. Odio che Apple abbia aggiunto un ulteriore passo al processo di acquisizione, salvataggio e invio di schermate allo store iTunesConnect.
Andrew Smith,

2
Questo strumento è molto semplice ma piuttosto utile. Altrimenti ho dovuto trascorrere del tempo con l'app di anteprima di Apple per rimuovere la trasparenza una ad una, molto tempo. Ora è possibile creare più file con un solo colpo.
bpolat,

1
Molto utile, grazie! Per tutti i programmatori che Apple ha, potresti pensare che potrebbero semplicemente eliminare automaticamente il canale alfa. Giuro che nessuna delle icone che ho caricato aveva alcuna trasparenza, tuttavia l'invio non è riuscito solo perché sono stati salvati in un formato che ha consentito la trasparenza. sospiro
devios1

2
Prego. In realtà ho creato il programma per me stesso a causa della frustrazione che ho avuto durante l'invio delle mie app ad Apple, quindi ho deciso di condividerlo con la community qui è open source su Github puoi dare un'occhiata al codice o usare come ti piace.
bpolat,

1
Perfetto! Mi hai risparmiato un'ora o due oggi. 475 immagini da caricare a causa di una riprogettazione!
Nancy,

73

Utilizzare lo mogrifystrumento dal ImageMagickpacchetto per rimuovere il canale alfa.

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

Aggiornamento dal 3 maggio

Puoi sapere se l'immagine contiene un canale alfa eseguendo:

sips -g all image.png

Nel caso in cui esegui il rendering di screenshot in iOS Simulator, puoi eliminare il canale alfa passando BOOL opaque = YESa UIGraphicsBeginImageContextWithOptions:

UIGraphicsBeginImageContextWithOptions(imageSize, YES, 0); 

3
L'output più breve per controllare l'alfa può essere ottenuto con il comandosips -g hasAlpha *.png
Anton Matosov,

mogrify -alpha off 👍
sistema

27

È necessario rimuovere i canali alfa quando si carica una foto su iTunes Connect.

Puoi farlo tramite Anteprima, App foto (vecchio iPhoto), Pixelmator, Adobe Photoshop e GIMP.

Anteprima

1- Apri la foto in Anteprima (se la foto è nel tuo album di foto nell'app Foto (la vecchia iPhoto), quindi trascinala semplicemente dall'album sul desktop. Quindi fai clic tenendo premuto il tasto destro del mouse (mouse) sulla foto duplicata e seleziona Preview.app nel menu Apri con).

2- Selezionare Esporta ... nel menu File e, dopo aver selezionato la destinazione, deselezionare Alpha in basso e fare clic su Esporta .

File ==> Esporta ...

Alfa

Pixelmator

1- Apri l'immagine in Pixelmator, senza creare un nuovo file Pixelmator . Trascina la foto nella finestra di Pixelmator.

2- Dal menu Condividi, fare clic su Esporta per Web ...

PM

3- Nella barra in alto, deselezionare Trasparenza .

4- Fare clic su Avanti quindi salvare il nuovo file da qualche parte.

Infine, carica la nuova foto su iTunes Connect.

GIMP

1- Apri la foto in GIMP.

2- Aprire il menu Livello .

3- In Trasparenza , fare clic su Rimuovi canale alfa .

4- Salva la foto.

Adobe Photoshop

1- Apri la foto in Adobe Photoshop.

2- Nel menu Livello , fai clic su Maschera livello, quindi Da trasparenza .

3- Elimina la maschera di livello facendo clic con il tasto destro sulla maschera nel pannello Livello e selezionando Elimina maschera di livello .


1
Questo non funzionerà su Mac OS High Sierra, prova una versione inferiore per esportare senza alfa. Spero che aiuti qualcuno.
Satheeshwaran,

11

Se stai usando Photoshop vai su File> Salva per web (Comando + Opzione + Maiusc + S). Assicurati che la Trasparenza sia deselezionata e che dovrebbe funzionare.


Strano. Questo funziona per singola immagine. Ma quando provo a salvare azioni ed eseguire l'esportazione in batch - le immagini risultanti hanno ancora l'alfa.
Kelin,

6

Ancora un problema nel 2019: =)

Per me ha funzionato: Seleziona tutte le immagini che desideri caricare -> Clic destro -> Apri in Anteprima -> Esporta -> Deseleziona alfa -> Usa le immagini esportate.


5

Su Pixelmator puoi usare "Condividi> Esporta per Web ..." ( + + E)

inserisci qui la descrizione dell'immagine

e deseleziona Trasparenza nella barra delle opzioni degli strumenti.

inserisci qui la descrizione dell'immagine


5

Estensione della risposta di Roman B. Questo è ancora un problema, stavo caricando un'app Cordova. la mia soluzione usando mogrify:

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

Quindi archiviato e validato con successo. 👍


4

ho lo stesso problema basta comprimere il tuo file png su https://tinypng.com/ online e quindi provare a caricare quel nuovo file png compresso.

funziona per me.


Questo non ha funzionato per me - aveva ancora un canale alfa
Andrew

4

sono stato in grado di utilizzare imageoptim per rimuovere il canale alfa e comprimere i file png.


3

Puoi rimuovere il canale alfa da un file PNG dalla riga di comando con pngcrush, usando il flag "-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

Nota il passaggio da RGBA a RGB: il canale Alpha è sparito!

pngcrush vive su http://pmt.sourceforge.net/pngcrush/


2

Di fronte allo stesso problema, prova a utilizzare il formato JPG !! Quello che ha funzionato per me qui è stato usare un file jpg invece di PNG poiché i file jpg non usano le funzioni alfa o trasparenza. L'ho fatto tramite il convertitore di immagini online o puoi anche aprire l'immagine in anteprima e quindi File-> Esporta e deselezionare l'alfa come opzione per salvare l'immagine e utilizzare questa immagine.


1

Per aggirare il problema, ho convertito in batch i miei file png32 in fuochi d'artificio convertiti in png24 per il caricamento rapido e semplice. Jpeg funziona anche ma è in perdita.


1

Di fronte allo stesso problema, prova a utilizzare il formato JPG !!


1

Photoshop

  1. Affettalo
  2. Salva per il web
  3. Deseleziona Trasparenza

0

Se hai installato imagemagick, puoi inserire il seguente alias nel tuo .bash_profile. Converte ogni png in una directory in un jpg, che rimuove automaticamente l'alfa. È possibile utilizzare i file jpg risultanti come schermate.

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

jpg significa degrado della qualità, non lo farei, solo se ne avessi davvero bisogno per essere effettivamente più piccolo.
Zsolt Szatmari,

0

Quello che ha funzionato per me qui è stato usare un file jpg invece di PNG poiché i file jpg non usano le funzioni alfa o trasparenza. L'ho fatto tramite il convertitore di immagini online o puoi anche aprire l'immagine in anteprima e quindi File-> Esporta e deselezionare l'alfa come opzione per salvare l'immagine e utilizzare questa immagine.


Sì, ma stai chiedendo problemi con l'utilizzo di jpeg. Sono intrinsecamente progettati per immagini "rumorose" come le foto, ma portano a artefatti su immagini con molti colori a blocchi e bordi dritti come schermate.
JamEngulfer,

0

Potete semplicemente creare un nuovo documento Photoshop e impostare lo sfondo predefinito su Bianco anziché su Trasparente. Quindi, copia e incolla l'immagine nel documento appena creato e salvala.


0

Puoi esportare in PNG senza alfa in Anteprima. Basta aprire l'immagine, scegliere Esporta, selezionare PNG, deselezionare Alpha e fare clic su Salva. L'anteprima supporta anche l'esportazione batch se si aprono tutte le immagini contemporaneamente.


0

Esportazione da schizzo

Per evitare la trasparenza, assicurarsi che nessun livello si estenda oltre i limiti della tavola da disegno.


-2

Converti la tua immagine PNG in formato JPEG.


ITunes Connect non accetta jpeg per alcune cose. L'icona dell'app IOS deve essere png, ad esempio.
eclux,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.