Прозрачный цвет работает на симуляторе, но становится черным на iPhone - PullRequest
3 голосов
/ 21 сентября 2009

Я пытаюсь нарисовать изображение с прозрачными областями. Я загружаю изображение, используя

image = [UIImage imageNamed:@"testimage.png"];

и нарисуйте его, используя

[image drawAtPoint:CGPointMake(0,0)];

UIView, на котором я рисую изображение, не является непрозрачным (и имеет прозрачный цвет фона).

Проблема в том, что на симуляторе все работает нормально, но когда я запускаю приложение на своем iPhone, прозрачный цвет становится черным! Кто-нибудь может определить мою ошибку?

Ответы [ 3 ]

3 голосов
/ 04 ноября 2009

У меня сегодня была такая же проблема с моей фотографией. Я создал свою картинку в GraphicConverter.

Моим решением было добавить альфа-канал к картинке. Я сделал это с помощью GraphicConverter, используя команду из Picture => Alpha Channel => Create Alpha Channel с прозрачностью. Возможно, команда имеет другое имя для вас, поскольку я использую приложение с настройкой немецкого языка.

Надеюсь, это поможет.

2 голосов
/ 23 мая 2012

Правильный ответ на эту проблему - формат .PNG, с которым вы сохраняете свое изображение. Если вы сохраните как PNG-8, вы столкнетесь с этой проблемой чаще, чем с другой, поскольку она поддерживает только 1 прозрачный цвет. Если вы откроете файл .PNG, а затем снова сохраните его в 24-битном формате, вы получите настоящую прозрачность.

Ссылка в этой теме для обсуждения и уточнения.

  • РЕДАКТИРОВАТЬ: Просто чтобы быть ясно, .PNG не имеет «альфа-канал», поэтому ответ Криса вводит в заблуждение. Обязательно сохраните в 24-битном формате с включенной прозрачностью.
0 голосов
/ 05 ноября 2009

Я решил свою проблему, загрузив его в colorsync, а затем сохранив.

...