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


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.