Программирование на iPad, какой-нибудь способ программно инвертировать цвет? - PullRequest
5 голосов
/ 17 марта 2011

Вы знаете, как iPad может инвертировать цвета?Для приложения, над которым я работаю, мы хотели иметь кнопку, которая бы инвертировала цвета для одного из представлений одинаково.У sdk уже есть какая-нибудь поддержка для чего-то подобного?

1 Ответ

1 голос
/ 12 апреля 2011

Я не думаю, что сейчас есть легкий путь.CALayer имеет свойство compositingFilter, которое описывается как

Фильтр CoreImage, используемый для объединения содержимого получателя с фоном.Animatable.

Он доступен с iOS 2.0, но в нем также указано:

Хотя класс CALayer предоставляет это свойство, Core Image недоступно в iOS .В настоящее время доступные для этого свойства фильтры не определены.

Базовое изображение было бы идеально для этой цели, оно обеспечивает фильтр (CIColorInvert) для инвертирования цветов.

Другим подходом было бы следующее: измените свойства цвета элементов управления пользовательского интерфейса, которые вы используете, хотя я сомневаюсь, что все будет выглядеть так, как вы ожидаете, поскольку могут быть градиенты и тому подобное.Вы должны реализовать свой собственный маленький алгоритм, чтобы инвертировать данный цвет.

Я вижу только трудный путь: вам нужно нарисовать ваши элементы управления вручную с помощью drawRect и инвертировать цвета с вашим собственным алгоритмом.

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