Удалить альфа-канал в изображении

У меня есть значок приложения для iOS, но Apple не позволяет отображать альфа-изображение. Как удалить этот альфа-канал? У меня есть только изображение png. У меня нет исходного файла, так как мой друг сделал изображение для меня.

Ответ 1

Предполагая, что у вас нет другого редактора изображений, вы можете открыть его в режиме предварительного просмотра на своем Mac и использовать параметр "Экспорт", чтобы сохранить его в другом формате - чтобы вы избавились от альфа-канала, это может быть лучше всего экспортировать в JPG (лучшее качество), затем откройте это и экспортируйте его как PNG снова.

Сказав это, я подозреваю, что вы, вероятно, хорошо представляете значок с каналом прозрачности, пока нет реальной прозрачности.

Ответ 2

Принятый ответ на экспорт в JPG, а затем обратно в PNG не рекомендуется.

  • Это дополнительный шаг в этом процессе (2 экспорта)
  • JPG потерян, поэтому вы потеряете некоторые данные изображения.

Здесь супер быстрый и простой способ сделать это без дополнительного экспорта или сохранения в (потерять) JPG:

Использование приложения предварительного просмотра (Mac):

  • Открыть изображение
  • Command-Shift-S для дублирования (создает копию)
  • Command-S для сохранения
  • Снимите флажок "Альфа"
  • Удалить "копию" из имени файла (включая пробел)
    • Это перезапишет ваш оригинал, если вы хотите сохранить оригинал, просто оставьте "copy" в имени
  • Сохранить
  • Нажмите "Заменить" , чтобы подтвердить, что вы хотите перезаписать оригинал
    • Необходимо только, если вы перезаписываете оригинал

Ответ 3

Если вы используете приложение "Предварительный просмотр", нет необходимости экспортировать, а затем реэкспортировать между jpg и png, просто выберите экспорт, а под типом файла (PNG) вы увидите альфа-флажок, отмените его и сохраните.

Ответ 4

Не нужно сначала экспортировать изображение в jpg. Вы можете снять флажок для альфа-канала и экспортировать непосредственно из png в png без альфа-канала в приложении предварительного просмотра.

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

Ответ 5

Вы можете попробовать imagemagick (также легко изменить размер для разных размеров):

convert in.png -background black -alpha remove -alpha off -resize 1024x1024 out.png

Ответ 6

При попытке загрузить приложение в магазин приложений iTunes появилась следующая ошибка:

Не удалось выполнить операции iTunes Store

ОШИБКА ITMS-90717: "Недопустимый значок магазина приложений. Значок" App Store "в каталоге активов в" MyApp.app "не может быть прозрачным и содержать альфа-канал".

Я подтвердил, что мои иконки в магазине приложений включают альфа-канал, размещая актив в Finder и просматривая его информацию (⌘ + i). Под дополнительной информацией было показано:

Альфа-канал: Да

Найденное решение выше, чтобы использовать Preview для удаления альфа-канала, экспортировав его с флажком Alpha, не установленным флажком, но решил запустить пакетный экспорт с тех пор, как у меня было 18 активов, в которых мне нужно было лишить альфа-канал.

То, как я получал пакетный экспорт на работу, заключался в том, чтобы выбрать все мои атрибуты значков приложения в finder > right click > open (или открыть с предварительным просмотром)

Все активы теперь появятся в том же окне. Выберите все (⌘ + a), а затем выберите "Файл" > "Экспортировать выбранные изображения..." > "Развернуть параметры" > снимите флажок "Альфа" > "Выбрать" (папка назначения)

Готово! Все ваши изображения теперь экспортируются с отключенным альфа-каналом.

Ответ 7

Чтобы удалить альфа-канал из png:

на Mac: Предварительный просмотр версии 9.0 (macOS Sierra) может удалить альфа-канал, если вы экспортируете или сохраняете изображение.

Предварительный просмотр версии 10.0 (944.2) (macOS High Sierra) не удаляет альфа-канал. Экспорт и/или сохранение не удаляет альфа-канал из изображения.

Ответ 8

флажок alpha больше отсутствует в предварительном просмотре

Ответ 9

Хорошо, так как вы на Mac, в следующий раз вы, вероятно, просто захотите использовать Automator. Преобразуйте изображение в BMP (без потерь) и обратно в PNG. Пусть это спасет и вуаля...