Изображения не могут содержать альфа-каналы или прозрачные пленки


331

Apple выпустила новую версию iTunes Connect, и я получил сообщение об ошибке, когда попытался установить снимки экрана в itunes connect для моего приложения.

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

введите описание изображения здесь


Это не упомянуто в Руководстве для разработчиков
— razor28

15
Просто конвертировать изображения в формат JPG работал для меня!
— Джайпракаш Дубей

1
Самый первый загрузчик изображений, который я написал сам, мог взять любой размер jpeg, png или gif, правильно повернуть его и вывести jpeg нужного уровня сжатия. Очевидно, я могу делать загрузчики изображений, а Apple - нет. И в отличие от Apple, я никогда не мечтал заставить своих пользователей «о, просто уберите альфа из PNG вручную! Для каждой картинки!».
— Хенрик Эрландссон

К сожалению, xcode разрешает это, когда iTunes Connect этого не делает.
— Джеймс Т Снелл

Ответы:


262

AFAIK png с прозрачностью не допускается. используйте jpg ИЛИ обновите ваш png (фотошоп или все, что вы используете для создания png) и удалите области прозрачности. если вы работаете с тенями, используйте jpg, это не вызовет головной боли.


Работал для меня тоже. Спасибо
— Мед

6
JPEG с потерями, и это ужасная, ужасная идея. Проверьте другие ответы и правильно удалите прозрачность.
— Рудольф Адамкович

3
Простое открытие в Preview и экспорт в JPEG решило проблему. Снимок экрана устройства XCode сохраняется в формате PNG, что является проблемой. Съемка экранов с помощью устройства (кнопка «Домой» + кнопка питания) сохраняется в формате JPEG.
— Анна Биллстрем

33
Вы можете экспортировать в PNG без альфа в Preview. Просто откройте свое изображение, выберите экспорт, выберите PNG, снимите флажок Альфа и нажмите Сохранить. Предварительный просмотр также поддерживает пакетный экспорт, если вы открываете все свои изображения одновременно.
— Рассел Лэдд

1
Хороший ответ, но, как я заметил, результат .jpg не очень хороший, поэтому я просто открываю изображение в Photoshop, устанавливаю фоновый слой и устанавливаю его белый цвет, чтобы убрать прозрачность изображения, и использую это изображение как PNG.
— Нитин Гоэль

467

Я обнаружил, что вы также можете просто повторно экспортировать файлы png в Preview, но снимите флажок Alpha при сохранении.

введите описание изображения здесь


48
Смешно, что iTunes Connect не будет принимать скриншоты, сгенерированные Xcode, учитывая, что именно так они рекомендуют вам это делать.
— Джозеф Торонто

По какой-то необъяснимой причине, когда я делаю это, он сокращает размеры вдвое и теперь «неправильный размер» для iTC! WTF Apple ???
— Mharper

14
Понятно, что, имея в распоряжении только 178 млрд долларов, Apple не может позволить себе исправить эту глупую ошибку и требует, чтобы десятки тысяч разработчиков все утомительно выполняли эту операцию снова и снова. Тьфу.
— Nate

если бы я мог дать этому человеку 100 голосов за решение моей проблемы
— Noor

2
дважды щелкните по фотографии «file» -> «Export ...»
— Arjay Waran

102

это так просто ...

Откройте изображение в приложении « Просмотр» , нажмите « Файл» -> «Экспорт» и снимите флажок «Альфа».


Это не будет работать в Mac OS High Sierra, попробуйте более низкую версию для экспорта без альфа. Надеюсь, это кому-нибудь поможет.
— Satheeshwaran

Очень простое решение. Спасибо!
— Лина Т

Работает в Каталине Заменяет любую прозрачность на белый.
— Марси

85

Для этого я сделал новый простой инструмент. Вы можете удалить альфа-канал (прозрачность) нескольких файлов .png в течение нескольких секунд.

Альфа-канал для удаления

Вы можете скачать здесь http://alphachannelremover.blogspot.com


17
Спасибо. Я ненавижу, что Apple добавила еще один шаг в процесс захвата, сохранения и отправки снимков экрана в магазин iTunesConnect.
— Эндрю Смит

2
Этот инструмент очень прост, но довольно полезен. В противном случае мне пришлось бы потратить время на предварительное приложение Apple, чтобы удалить прозрачность один за другим, очень много времени. Теперь можно сделать несколько файлов одним выстрелом.
— Бполат

1
Очень удобно, спасибо! Для всех программистов, которые есть у Apple, вы могли бы подумать, что они могут просто лишить альфа-канал автоматически. Клянусь, ни один из загруженных мною значков не имел никакой прозрачности, но отправка не удалась только потому, что они были сохранены в формате, обеспечивающем прозрачность. вздох
— devios1

2
Добро пожаловать. На самом деле я создал программу для себя из-за разочарования, которое я испытывал, когда отправлял свои приложения в Apple, а затем решил поделиться ею с сообществом. Здесь с открытым исходным кодом на github вы можете посмотреть код или использовать его так, как вам нравится.
— бполать

1
Отлично! Вы спасли меня час или два сегодня. 475 изображений для загрузки из-за редизайна!
— Нэнси

73

Используйте mogrifyинструмент из ImageMagickпакета, чтобы удалить альфа-канал.

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

Обновление от 3 мая

Вы можете определить, содержит ли изображение альфа-канал, выполнив:

sips -g all image.png

В случае , если вы оказываете скриншоты в IOS Simulator вы можете оставить альфа - канал путем передачи BOOL opaque = YESв UIGraphicsBeginImageContextWithOptions:

UIGraphicsBeginImageContextWithOptions(imageSize, YES, 0); 

3
Более короткий выход для проверки альфа можно получить с помощью командыsips -g hasAlpha *.png
— Антон Матосов

mogrify -alpha off 👍
— система

27

Вы должны удалить альфа-каналы при загрузке фотографии в iTunes Connect.

Вы можете сделать это с помощью Preview, приложения Photos (старая iPhoto), Pixelmator, Adobe Photoshop и GIMP.

предварительный просмотр

1- Откройте фотографию в режиме предварительного просмотра (если фотография находится в вашем фотоальбоме в приложении «Фотографии» (старая версия iPhoto), затем просто перетащите ее из альбома на рабочий стол. Затем нажмите и удерживайте нажатой клавишу «Control» (щелчок правой кнопкой мыши при нажатии мыши) дублированную фотографию и выберите Preview.app в меню «Открыть с помощью»).

2- Выберите Экспорт ... в меню Файл, и после выбора места назначения снимите флажок Альфа внизу и нажмите Экспорт .

Файл ==> Экспорт ...

Альфа

Pixelmator

1- Откройте изображение в Pixelmator, не создавая новый файл Pixelmator . Просто перетащите фотографию в окно Pixelmator.

2- В меню «Поделиться» выберите « Экспорт для Интернета».

ВЕЧЕРА

3- В верхней панели снимите флажок Прозрачность .

4- Нажмите Далее, а затем сохраните новый файл где-нибудь.

Наконец, загрузите новую фотографию в iTunes Connect.

GIMP

1- Откройте фотографию в GIMP.

2- Откройте меню Layer .

3- В разделе « Прозрачность» нажмите « Удалить альфа-канал» .

4- Сохраните фотографию.

Adobe Photoshop

1- Откройте фотографию в Adobe Photoshop.

2- В меню « Слой» выберите « Маска слоя», а затем « Из прозрачности» .

3. Удалите маску слоя, щелкнув правой кнопкой мыши по маске на панели «Слой» и выбрав « Удалить маску слоя» .


1
Это не будет работать в Mac OS High Sierra, попробуйте более низкую версию для экспорта без альфа. Надеюсь, это кому-нибудь поможет.
— Satheeshwaran

11

Если вы используете Photoshop, выберите «Файл»> «Сохранить для Интернета» («Command» + «Option» + «Shift» + «S»). Убедитесь, что прозрачность не проверена, и это должно работать.


Странный. Это работает для одного изображения. Но когда я пытаюсь сохранить действия и выполнить пакетный экспорт - получающиеся изображения по-прежнему имеют альфа.
— келин

6

Все еще проблема в 2019 году: =)

Это сработало для меня: выберите все изображения, которые вы хотите загрузить -> Щелкните правой кнопкой мыши -> Открыть в режиме предварительного просмотра -> Экспорт -> Снимите флажок альфа -> Использовать экспортированные изображения.


5

На Pixelmator вы можете использовать «Поделиться> Экспорт для Web ...» ( ⇧+ ⌘+ E)

введите описание изображения здесь

и отмените выбор прозрачности на панели параметров инструмента.

введите описание изображения здесь


5

Расширяя Роман Б., отвечаю. Это все еще проблема, я загружал приложение Cordova. мое решение с использованием mogrify:

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

Затем успешно заархивированы и проверены. 👍


4

У меня та же проблема, просто сожмите ваш файл PNG на https://tinypng.com/ онлайн, а затем попробуйте загрузить этот новый сжатый файл PNG.

это работа для меня.


Это не сработало для меня - у него все еще был альфа-канал
— Эндрю


3

Вы можете удалить альфа-канал из PNG-файла из командной строки с помощью pngcrush, используя флаг «-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

Обратите внимание на переход с RGBA на RGB: альфа-канал пропал!

pngcrush живет на http://pmt.sourceforge.net/pngcrush/


2

Столкнулся с той же проблемой, попробуйте использовать формат JPG! Для меня здесь работало использование файла jpg вместо PNG, поскольку файлы jpg не используют функции альфа-канала или прозрачности. Я сделал это через онлайн-конвертер изображений, или вы также можете открыть изображение в окне предварительного просмотра, а затем Файл-> Экспорт и снимите флажок альфа как вариант, чтобы сохранить изображение и использовать это изображение.


1

Чтобы обойти проблему, я конвертировал с помощью fireworks мои файлы png32 в png24 для быстрой и простой загрузки. JPEG работает также, но это с потерями.



1

Photoshop

  1. Нарезать
  2. Сохранить для веба
  3. Снимите флажок Прозрачность

0

Если у вас установлен imagemagick, вы можете поместить следующий псевдоним в ваш .bash_profile. Он преобразует каждый PNG в каталоге в JPG, который автоматически удаляет альфа. Вы можете использовать получившиеся файлы jpg в качестве снимков экрана.

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

JPG означает ухудшение качества, я бы не стал этого делать, только если бы мне действительно нужно, чтобы он был на самом деле меньше.
— Жолт Сатмари

0

Для меня здесь работало использование файла jpg вместо PNG, поскольку файлы jpg не используют функции альфа-канала или прозрачности. Я сделал это через онлайн-конвертер изображений, или вы также можете открыть изображение в окне предварительного просмотра, а затем Файл-> Экспорт и снимите флажок альфа как вариант, чтобы сохранить изображение и использовать это изображение.


Да, но вы просите проблемы с использованием JPEG. Они изначально созданы для «шумных» изображений, таких как фотографии, но приводят к появлению артефактов на изображениях с большим количеством блочных цветов и прямыми краями, как на скриншотах.
— JamEngulfer

0

Вы можете просто создать новый документ Photoshop и установить его фон по умолчанию для белого вместо прозрачного. Затем скопируйте и вставьте изображение во вновь созданный документ и сохраните его.


0

Вы можете экспортировать в PNG без альфа в Preview. Просто откройте свое изображение, выберите экспорт, выберите PNG, снимите флажок Альфа и нажмите Сохранить. Предварительный просмотр также поддерживает пакетный экспорт, если вы открываете все свои изображения одновременно.


0

Экспорт из эскиза

Чтобы избежать прозрачности, убедитесь, что ни один слой не выходит за пределы монтажной области.


-2

Конвертируйте ваше изображение PNG в формат JPEG.


ITunes Connect не принимает JPEG для некоторых вещей. Например, значок приложения IOS должен быть png.
— eclux
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.