2014-10-13 3 views
2

Фон моего приложения непрозрачен UIImageView. В некоторых случаях я хотел бы омрачить это вниз анимированным способом от полной яркости до примерно 50%. В настоящее время я понижаю альфа-свойство представления, и это хорошо работает. Поскольку за представлением ничего нет, фоновое изображение просто становится темным.Затенять непрозрачный UIView без смешивания

Однако, я профилировал с использованием Core Animation Instrument, и когда я это делаю, я вижу, что весь фон показывает как смешанный. Я бы хотел избежать этого, если это возможно.

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

Я задавался вопросом, поддерживает ли это то, что совместимо с графическим процессором UIKit. Хотя смешение не очень велико, возможно, это намного лучше, чем обновление изображения на процессоре, поэтому я думаю, что подход к процессору, вероятно, не является хорошей заменой.

Another question спрашивает об этом, и предлагается несколько идей, включая настройку Alpha. Однако никто не создал механизм для предотвращения смешивания.

ответ

2

Важным вопросом здесь является вопрос о том, хотите ли вы изменить использование затемненного фона для анимации.

Не анимированные

Приготовьте два различных фоновых изображений и просто переключаться между ними. Библиотека UIImage+imageEffects могла бы помочь в создании темного изображения или дать вам несколько отведений.

Анимированные.

Взгляните на GPUImage - «Ядро iOS с открытым исходным кодом для обработки изображений и видео на основе графического процессора». Исходя из этого, вы могли бы сделать фоновый эффект на сцену потемневшим образом.

+0

Анимированные. Я должен был упомянуть об этом, поэтому я отредактировал вопрос, спасибо за то, что попросил меня уточнить. Я не вижу, как помогает связанная библиотека? – Benjohn

+0

Я взглянул на код реализации, спасибо. Я также должен был уточнить в вопросе, что я хочу сохранить все это на графическом процессоре. Я внесла поправки. – Benjohn

+1

@ Benjohn, в этом случае, взгляните на эту структуру - «Ядро iOS с открытым исходным кодом для обработки изображений и видео на основе графического процессора». https://github.com/BradLarson/GPUImage – orkenstein

 Смежные вопросы

  • Нет связанных вопросов^_^