2012-06-12 4 views
0

Я показываю серию изображений на iPad, которые отправляются по сетевому соединению. Кажется, что он работает нормально, но по некоторым причинам изображения имеют много ореолов (см. Изображение ниже). Есть ли какая-то техника для рисования, которая устранит это? Я бы сказал, что это проблема с частотой обновления экрана, но это не объяснит, почему использование функции скриншотов iPad отражает это явление.IPad изображение ghosting при отображении изображений быстро

Ghosting on iPad

+0

Как вы переключаетесь между изображениями? Поскольку вы отметили вопрос с помощью Core Animation, я предполагаю, что есть анимации? Вы делаете некоторые перекрестные искажения между изображениями? –

+0

Снимок экрана только для чтения того, что отображается в ОЗУ, истинные пиксели не читаются. То, что происходит, ДОЛЖНО быть феноменом обработки. Какая обработка происходит на изображениях? – trumpetlicks

ответ

1

Вы, вероятно, переключение между изображениями таким образом, подающим implicit animation, что кросс-затухает между старым изображением и новым.

documentation for layer actions объясняет, как CoreAnimation решает запустить эту неявную анимацию и как ее переопределить.

Два простых способов IMHO являются:

  1. При изменении изображения use a CATransaction to disable actions
  2. В делегатом вашего слоя, implement -actionForLayer:forKey: and return [NSNull null]. (Если вы используете UIView, это уже делегат слоя.)

This question дает еще несколько вариантов - это может быть даже дубликат вашей ситуации.

+0

Спасибо за ответы. У меня есть определенный слой, и я вызываю метод 'SetContents:' как таковой: '[imageLayer_ performSelectorOnMainThread: @selector (setContents :) withObject: (id) self.cameraImage_.CGImage waitUntilDone: NO];'. Объект cameraImage_ является объектом UIImage. – ayrton04

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