Apple wydało nową wersję iTunes Connect i dostałem komunikat o błędzie, gdy próbowałem ustawić zrzuty ekranu na iTunes Connect dla mojej aplikacji.
"Images can't contain alpha channels or transparencies."
Apple wydało nową wersję iTunes Connect i dostałem komunikat o błędzie, gdy próbowałem ustawić zrzuty ekranu na iTunes Connect dla mojej aplikacji.
"Images can't contain alpha channels or transparencies."
Odpowiedzi:
AFAIK png z przezroczystością jest niedozwolony. użyj jpg LUB zaktualizuj png (Photoshop lub cokolwiek, czego używasz do utworzenia png) i usuń obszary przezroczystości. jeśli pracujesz z cieniami, użyj jpg, który nie spowoduje bólu głowy.
Odkryłem, że możesz również ponownie wyeksportować pliki PNG w podglądzie, ale odznacz pole wyboru Alpha podczas zapisywania.
to takie proste ...
Otwórz obraz w aplikacji Preview, kliknij Plik -> Eksportuj i odznacz alfa
W tym celu stworzyłem nowe proste narzędzie. Możesz usunąć kanał alfa (przezroczystość) wielu plików .png w ciągu kilku sekund.
Możesz pobrać stąd http://alphachannelremover.blogspot.com
Użyj mogrify
narzędzia z ImageMagick
pakietu, aby usunąć kanał alfa.
brew install imagemagick
cd folder_with_images
mogrify -alpha off */*.png
Aktualizacja od 3 maja
Możesz sprawdzić, czy obraz zawiera kanał alfa, uruchamiając:
sips -g all image.png
W przypadku renderowania zrzutów ekranu w Symulatorze iOS możesz upuścić kanał alfa, przechodząc BOOL opaque = YES
do UIGraphicsBeginImageContextWithOptions
:
UIGraphicsBeginImageContextWithOptions(imageSize, YES, 0);
sips -g hasAlpha *.png
Należy usunąć kanały alfa podczas przesyłania zdjęcia do iTunes Connect.
Możesz to zrobić za pomocą aplikacji Preview, Photos App (stary iPhoto), Pixelmator, Adobe Photoshop i GIMP.
Zapowiedź
1- Otwórz zdjęcie w podglądzie (jeśli zdjęcie znajduje się w albumie w aplikacji Zdjęcia (stara iPhoto), a następnie po prostu przeciągnij je z albumu na pulpit. Następnie kliknij z wciśniętym klawiszem Control (kliknij prawym przyciskiem myszy) zduplikowane zdjęcie i wybierz Preview.app w menu Otwórz za pomocą).
2- Wybierz Eksportuj ... w menu Plik, a po wybraniu miejsca docelowego odznacz Alpha u dołu i kliknij Eksportuj .
Pixelmator
1- Otwórz obraz w Pixelmator, bez tworzenia nowego pliku Pixelmator . Po prostu przeciągnij zdjęcie do okna Pixelmator.
2- W menu Udostępnij kliknij Eksportuj do Internetu ...
3- Na górnym pasku usuń zaznaczenie opcji Przezroczystość .
4- Kliknij przycisk Dalej, a następnie zapisz gdzieś nowy plik.
Na koniec prześlij nowe zdjęcie do iTunes Connect.
ŻYŁKA
1- Otwórz zdjęcie w GIMP.
2- Otwórz menu Warstwa .
3- W obszarze Przezroczystość kliknij Usuń kanał alfa .
4- Zapisz zdjęcie.
Adobe Photoshop
1- Otwórz zdjęcie w Adobe Photoshop.
2- W menu Warstwa kliknij Maska warstwy, a następnie Z przezroczystości .
3- Usuń maskę warstwy, klikając prawym przyciskiem myszy maskę w panelu Warstwy i wybierając Usuń maskę warstwy .
Jeśli używasz Photoshopa, przejdź do Plik> Zapisz dla Internetu (Command + Opcja + Shift + S). Upewnij się, że przezroczystość nie jest zaznaczona, a to powinno działać.
Rozszerzenie odpowiedzi Roman B. To wciąż problem, ładowałem aplikację Cordova. moje rozwiązanie za pomocą mogrify
:
brew install imagemagick
* navigate to `platforms/ios/<your_app_name>/Images.xcassets/AppIcon.appiconset`*
mogrify -alpha off *.png
Następnie zarchiwizowano i sprawdzono poprawność. 👍
mam ten sam problem, po prostu skompresuj plik png na https://tinypng.com/ online, a następnie spróbuj przesłać ten nowy skompresowany plik png.
to dla mnie praca.
mogłem użyć imageoptim do usunięcia kanału alfa i kompresji plików png.
Możesz usunąć kanał alfa z pliku PNG z wiersza poleceń za pomocą pngcrush, używając flagi „-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
Zwróć uwagę na zmianę z RGBA na RGB: kanał Alpha zniknął!
pngcrush mieszka pod adresem http://pmt.sourceforge.net/pngcrush/
W obliczu tego samego problemu, spróbuj użyć formatu JPG !! To, co działało dla mnie tutaj, to użycie pliku jpg zamiast PNG, ponieważ pliki jpg nie używają funkcji alfa ani przezroczystości. Zrobiłem to za pośrednictwem konwertera obrazów online. Możesz także otworzyć obraz w podglądzie, a następnie Plik-> Eksportować i odznaczyć alfa jako opcję zapisania obrazu i użycia tego obrazu.
W obliczu tego samego problemu, spróbuj użyć formatu JPG !!
Jeśli masz zainstalowany imagemagick, możesz umieścić następujący alias w pliku .bash_profile. Konwertuje każdy png w katalogu do pliku jpg, który automatycznie usuwa alfa. Możesz użyć powstałych plików jpg jako zrzutów ekranu.
alias pngToJpg='for i in *.png; do convert $i ${i/.png/}.jpg; done'
To, co działało dla mnie tutaj, to użycie pliku jpg zamiast PNG, ponieważ pliki jpg nie używają funkcji alfa ani przezroczystości. Zrobiłem to za pośrednictwem konwertera obrazów online. Możesz także otworzyć obraz w podglądzie, a następnie Plik-> Eksportować i odznaczyć alfa jako opcję zapisania obrazu i użycia tego obrazu.
Możesz po prostu utworzyć nowy dokument Photoshopa i ustawić jego domyślne tło na Białe zamiast Przezroczystego. Następnie skopiuj i wklej obraz do nowo utworzonego dokumentu i zapisz go.
Konwertuj obraz PNG do formatu JPEG.