Зображення не можуть містити альфа-канали чи прозорі плівки


331

Apple випустила нову версію iTunes Connect. Я отримав повідомлення про помилку, коли я намагався встановити знімки екрана на itunes connect для свого додатка.

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

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


Це не згадується в Посібнику для розробників iTunes Connect: developer.apple.com/library/ios/documentation/…
— 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 без альфа-версії в режимі попереднього перегляду. Просто відкрийте зображення, виберіть експорт, виберіть PNG, зніміть прапорець Альфа та натисніть кнопку Зберегти. Попередній перегляд також підтримує пакетний експорт, якщо ви відкриєте всі свої зображення відразу.
— Рассел Ладд

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

467

Я виявив, що ви можете просто повторно експортувати png у Preview, але зніміть прапорець Alpha під час збереження.

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


48
Смішно, що iTunes Connect не прийме скріншоти, згенеровані Xcode, враховуючи, що саме так вони рекомендують вам це зробити.
— Джозеф Торонто

З якихось незрозумілих причин, коли я роблю це, він скорочує розміри навпіл і тепер "неправильний розмір" для iTC! WTF Apple ???
— mharper

13
Зрозуміло, що, маючи лише 178 доларів США в готівці, Apple не може дозволити собі виправити цю нерозумну помилку, і вимагає десятків тисяч розробників, щоб усі вони нудно виконували цю операцію знову і знову. Тьфу.
— Нейт

б , що я можу дати цій людині 100 голосів для вирішення моєї проблеми
— Noor

2
подвійне клацання фото "файл" -> "Експорт ..."
— Арджай Варан

102

це так просто ...

Відкрийте зображення в додатку Попередній перегляд , натисніть Файл -> Експорт та зніміть прапорець альфа


Це не працюватиме на Mac OS High Sierra, будь ласка, спробуйте нижчу версію для експорту без альфа. Сподіваюся, це комусь допоможе.
— Satheeshwaran

Дуже просте рішення. Дякую!
— Ліна Т

Працює в Каталіні. Замінює будь-яку прозорість білим.
— Марсі

85

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

Видалення альфа-каналів

Ви можете завантажити тут http://alphachannelremover.blogspot.com


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

2
Цей інструмент дуже простий, але досить корисний. В іншому випадку мені довелося провести час з програмою Apple Preview App, щоб знімати прозорість по черзі, дуже багато часу. Тепер можна зробити декілька файлів лише одним знімком.
— bpolat

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

2
Будь ласка. Насправді я зробив програму для себе внаслідок розчарувань, які я мав під час подання своїх додатків в Apple, а потім вирішив поділитися нею з спільнотою, це відкрите джерело в github, ви можете подивитися код або використовувати, як вам подобається.
— bpolat

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.

Це можна зробити за допомогою попереднього перегляду, програми Photos (старий iPhoto), Pixelmator, Adobe Photoshop та GIMP.

Попередній перегляд

1- Відкрийте фотографію в режимі попереднього перегляду (якщо фотографія є у вашому фотоальбомі в додатку Photos (старий iPhoto), а потім просто перетягніть її з альбому на робочий стіл. виберіть Preview.app у меню Відкрити за допомогою).

2- Оберіть Експорт ... у меню Файл, а після вибору пункту призначення зніміть прапорець Альфа внизу та натисніть Експорт .

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

Альфа

Піксельматор

1- Відкрийте зображення в Pixelmator, не створюючи новий файл Pixelmator . Просто перетягніть фотографію до вікна Pixelmator.

2- У меню "Поділитися" натисніть Експорт для веб ...

ПМ

3- У верхній смузі зніміть позначку Прозорість .

4- Клацніть Далі, а потім збережіть десь новий файл.

Нарешті, завантажте нову фотографію в iTunes Connect.

GIMP

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

2- Відкрийте меню шару .

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 ви можете використовувати "Надіслати> Експорт для веб ..." ( ⇧+ ⌘+ E)

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

і скасуйте вибір прозорості на панелі параметрів інструментів.

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


5

Розширення відповіді Романа Б. Це все ще проблема, я завантажував додаток для шнурів. моє рішення з використанням 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

Щоб вирішити проблему, я створив конвертований за допомогою феєрверків мої файли 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 означає погіршення якості, я б цього не робив, лише якщо мені справді потрібно, щоб він був насправді меншим.
— Zsolt Szatmari

0

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


Так, але ви просите проблем з використанням jpegs. Вони по суті розроблені для "галасливих" зображень, як фотографії, але призводять до артефактування на зображеннях з великою кількістю блокових кольорів та прямими краями, як на скріншотах.
— JamEngulfer

0

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


0

Ви можете експортувати в PNG без альфа-версії в режимі попереднього перегляду. Просто відкрийте зображення, виберіть експорт, виберіть PNG, зніміть прапорець Альфа та натисніть кнопку Зберегти. Попередній перегляд також підтримує пакетний експорт, якщо ви відкриєте всі свої зображення відразу.


0

Експорт з ескізу

Щоб уникнути прозорості, переконайтеся, що жоден шар не виходить за межі смуги мистецтва.


-2

Перетворіть ваше зображення PNG у формат JPEG.


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