As imagens não podem conter canais alfa ou transparências

331

A Apple lançou uma nova versão do iTunes Connect e recebi uma mensagem de erro ao tentar definir Capturas de tela no iTunes Connect para o meu aplicativo.

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

insira a descrição da imagem aqui

Yasika Patel
fonte
Isso não é mencionado no iTunes Connect Guia do desenvolvedor: developer.apple.com/library/ios/documentation/...
razor28
15
Basta converter a imagem para o formato JPG funcionou para mim !!
Jayprakash Dubey
1
O primeiro carregador de imagem que escrevi para mim pode pegar qualquer tamanho de jpeg, png ou gif, girá-lo corretamente e gerar um jpeg do nível de compactação desejado. Aparentemente, posso fazer upload de imagens e a Apple não. E, diferentemente da Apple, eu nunca sonharia em forçar meus usuários a "oh, apenas retire o alfa do PNG manualmente! Para todas as fotos!".
Henrik Erlandsson 27/02
É lamentável que o xcode permita isso quando o iTunes Connect não.
James T Snell

Respostas:

262

Png AFAIK com transparência não é permitido. use jpg OU atualize seu png (photoshop ou o que você estiver usando para criar o png) e exclua as áreas de transparência. se você trabalha com sombras, use jpg, que não causará dores de cabeça.

brush51
fonte
Trabalhou para mim too.Thx
Mel
6
O JPEG está com perdas e é uma péssima idéia. Confira outras respostas e remova adequadamente a transparência.
Rudolf Adamkovič 16/09
3
Simplesmente abrir no Preview e exportar para JPEG resolveu o problema. A captura de tela do dispositivo do XCode salva em PNG, que é o problema. A captura de telas com o dispositivo (botão home + botão liga / desliga) salva em JPEG.
Anna BILLSTRÖM
33
Você pode exportar para PNG sem alfa na visualização. Simplesmente abra sua imagem, escolha exportar, selecione PNG, desmarque Alfa e clique em Salvar. A visualização também suporta exportação em lote se você abrir todas as imagens de uma só vez.
Russell Ladd
1
Boa resposta, mas como noto que o resultado .jpg não é bom, é só abrir a imagem no Photoshop, definir a camada de fundo e definir sua cor branca, para que a transparência da imagem seja removida e use essa imagem como PNG.
Nitin Gohel
467

Descobri que você também pode reexportar os pngs na Visualização, mas desmarque a caixa de seleção Alfa ao salvar.

insira a descrição da imagem aqui

Smikey
fonte
48
É ridículo que o iTunes Connect não aceite capturas de tela geradas pelo Xcode, considerando que é assim que elas recomendam que você faça.
Joseph Toronto
Por alguma razão inexplicável, quando faço isso, ele reduz as dimensões pela metade e agora é "tamanho errado" para o iTC! WTF Apple ???
precisa
13
É compreensível que, com apenas US $ 178 bilhões em dinheiro, a Apple não possa se dar ao luxo de consertar esse bug bobo e exija que dezenas de milhares de desenvolvedores executem tediosamente essa operação, repetidas vezes. Ugh.
Nate
seria que eu possa dar essa pessoa 100 votos para resolver meu problema
Noor
2
clique duas vezes na foto "arquivo" -> "Exportar ..."
Arjay Waran
102

tão fácil ...

Abrir imagem em aplicativo Visualizar, clique em Arquivo -> Exportar e desmarque alfa

Marek Manduch
fonte
Isso não funcionará no Mac OS High Sierra. Tente uma versão inferior para exportar sem alfa. Espero que ajude alguém.
precisa
Solução muito fácil. Obrigado!
Lina T
Trabalha em Catalina. Substitui qualquer transparência por branco.
Marcy
85

Para isso, fiz uma nova ferramenta simples. Você pode remover o canal alfa (transparência) de vários arquivos .png em segundos.

Removedor de canal alfa

Você pode fazer o download aqui http://alphachannelremover.blogspot.com

bpolat
fonte
17
Obrigado. Odeio que a Apple tenha acrescentado mais uma etapa ao processo de captura, salvamento e envio de capturas de tela para a loja iTunesConnect.
Andrew Smith
2
Esta ferramenta é muito simples, mas bastante útil. Caso contrário, eu teria que gastar tempo com o App de visualização da Apple para remover a transparência uma a uma, consumindo muito tempo. Agora é possível criar vários arquivos com apenas uma foto.
bpolat 24/09/14
1
Muito útil, obrigado! Para todos os programadores da Apple, você pensaria que eles poderiam simplesmente retirar o canal alfa automaticamente. Juro que nenhum dos ícones que enviei tinha qualquer transparência, mas falhou no envio apenas porque foram salvos em um formato que permitia transparência. suspiro
devios1
2
Você é bem vindo. Na verdade, eu fiz o programa por conta da frustração que tive ao enviar meus aplicativos para a Apple e, em seguida, decidi compartilhá-lo com a comunidade. Aqui, ele é de código aberto no github. Você pode dar uma olhada no código ou usar como quiser.
bpolat
1
Perfeito! Você me salvou uma ou duas horas hoje. 475 imagens a serem carregadas devido a um novo design!
Nancy
73

Use a mogrifyferramenta do ImageMagickpacote para remover o canal alfa.

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

Atualização de 3 de maio

Você pode saber se a imagem contém canal alfa executando:

sips -g all image.png

No caso de renderizar capturas de tela no iOS Simulator, você pode soltar o canal alfa passando BOOL opaque = YESpara UIGraphicsBeginImageContextWithOptions:

UIGraphicsBeginImageContextWithOptions(imageSize, YES, 0); 
Roman B.
fonte
3
A saída mais curta para verificar o alfa pode ser alcançada com o comandosips -g hasAlpha *.png
Anton Matosov 27/12/15
mogrify -alpha off 👍
system
27

Você deve remover os canais alfa ao fazer upload de uma foto no iTunes Connect.

Você pode fazer isso através da visualização, aplicativo de fotos (antigo iPhoto), Pixelmator, Adobe Photoshop e GIMP.

Pré-visualização

1- Abra a foto em Visualizar (se a foto estiver no seu álbum de fotos no aplicativo Fotos (o antigo iPhoto), arraste-a do álbum para a área de trabalho.Em seguida, clique com o botão direito do mouse (clique com o botão direito do mouse) na foto duplicada e selecione Preview.app no menu Abrir com).

2- Selecione Exportar ... no menu Arquivo e, depois de selecionar o destino, desmarque Alfa na parte inferior e clique em Exportar .

Arquivo ==> Exportar ...

Alfa

Pixelmator

1- Abra a imagem no Pixelmator, sem criar um novo arquivo Pixelmator . Basta arrastar a foto para a janela Pixelmator.

2- No menu Compartilhar, clique em Exportar para a Web ...

PM

3- Na barra superior, desmarque Transparência .

4- Clique em Avançar e salve o novo arquivo em algum lugar.

Por fim, faça o upload da nova foto no iTunes Connect.

GIMP

1- Abra a foto no GIMP.

2- Abra o menu Camada .

3- Em Transparência , clique em Remover canal alfa .

4- Salve a foto.

Adobe Photoshop

1- Abra a foto no Adobe Photoshop.

2- No menu Camada , clique em Máscara de camada e Em Transparência .

3- Exclua a máscara de camada clicando com o botão direito do mouse na máscara no painel Camada e selecionando Excluir máscara de camada .

Seyyed Parsa Neshaei
fonte
1
Isso não funcionará no Mac OS High Sierra. Tente uma versão inferior para exportar sem alfa. Espero que ajude alguém.
precisa
11

Se você estiver usando o Photoshop, vá em Arquivo> Salvar para a Web (Command + Option + Shift + S). Verifique se a transparência está desmarcada e isso deve funcionar.

Hector Lopez
fonte
Estranho. Isso funciona para uma única imagem. Mas quando tento salvar ações e realizar exportação em lote - as imagens resultantes ainda têm alfa.
Kel 28/08
6

Ainda é um problema em 2019: =)

Isso funcionou para mim: selecione todas as imagens que você deseja enviar -> Clique com o botão direito do mouse -> Abrir na visualização -> Exportar -> Desmarque alfa -> Use as imagens exportadas.

Kristian
fonte
5

No Pixelmator, você pode usar 'Compartilhar> Exportar para a Web ...' ( + + E)

insira a descrição da imagem aqui

e desmarque Transparência na barra de opções da ferramenta.

insira a descrição da imagem aqui

H6
fonte
5

Estendendo Roman B. resposta. Ainda é um problema, eu estava carregando um aplicativo cordova. minha solução usando mogrify:

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

Em seguida, arquivado e validado com sucesso. 👍

M. Junaid Salaat
fonte
4

Eu tenho o mesmo problema, basta compactar seu arquivo png em https://tinypng.com/ online e, em seguida, tente fazer o upload desse novo arquivo png compactado.

é trabalho para mim.

nizama bunti
fonte
Isso não funcionou para mim - ele ainda tinha um canal alfa #
Andrew
4

Eu era capaz de usar o imageoptim para remover o canal alfa e comprimir arquivos png.

latão
fonte
3

Você pode remover o canal alfa de um arquivo PNG da linha de comando com pngcrush, usando o sinalizador "-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

Observe a mudança de RGBA para RGB: o canal Alpha se foi!

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

codehead
fonte
2

Diante do mesmo problema, tente usar o formato JPG !! O que funcionou para mim aqui foi usar um arquivo jpg em vez de PNG, pois os arquivos jpg não usam recursos alfa ou de transparência. Fiz isso via conversor de imagem on-line ou você também pode abrir a imagem na visualização e, em seguida, Arquivo-> Exportar e desmarcar alfa como opção para salvar a imagem e usar esta imagem.

Rahul Parikh
fonte
1

Para contornar o problema, converti em lote usando fogos de artifício meus arquivos png32 para png24 para fazer o upload de maneira rápida e fácil. JPEG funciona também, mas é com perdas.

Mateus
fonte
1

Diante do mesmo problema, tente usar o formato JPG !!

Amit Ajmera
fonte
1

Photoshop

  1. Slice it
  2. Salvar para a web
  3. Desmarque a transparência
jcubero
fonte
0

Se você tiver o imagemagick instalado, poderá colocar o seguinte alias no seu .bash_profile. Ele converterá todos os png de um diretório em um jpg, que remove automaticamente o alfa. Você pode usar os arquivos jpg resultantes como capturas de tela.

alias pngToJpg='for i in *.png; do convert $i ${i/.png/}.jpg; done'
William Jockusch
fonte
jpg significa degradação da qualidade, eu não faria isso, apenas se realmente precisar que ele seja realmente menor.
Zsolt Szatmari
0

O que funcionou para mim aqui foi usar um arquivo jpg em vez de PNG, pois os arquivos jpg não usam recursos alfa ou de transparência. Fiz isso via conversor de imagem on-line ou você também pode abrir a imagem na visualização e, em seguida, Arquivo-> Exportar e desmarcar alfa como opção para salvar a imagem e usar esta imagem.

Som
fonte
Sim, mas você está tendo problemas para usar jpegs. Eles são inerentemente projetados para imagens "barulhentas", como fotos, mas levam a artefatos em imagens com muitas cores de bloco e bordas retas, como capturas de tela.
JamEngulfer
0

Você pode simplesmente criar um novo documento do Photoshop e definir seu plano de fundo padrão como Branco em vez de Transparente. Em seguida, copie e cole sua imagem no documento recém-criado e salve-o.

user2298995
fonte
0

Você pode exportar para PNG sem alfa na visualização. Simplesmente abra sua imagem, escolha exportar, selecione PNG, desmarque Alfa e clique em Salvar. A visualização também suporta exportação em lote se você abrir todas as imagens de uma só vez.

Usama Ali
fonte
0

Exportando do Sketch

Para evitar a transparência, verifique se nenhuma camada se estende além dos limites da prancheta.

5bars
fonte
-2

Converta sua imagem PNG para o formato JPEG.

kalpeshdeo
fonte
O iTunes Connect não aceita jpeg para algumas coisas. O ícone do aplicativo IOS deve ser png, por exemplo.
eclux