Я использую функцию UIGraphicsGetImageFromCurrentImageContext () для захвата содержимого экрана в объект UIImage (ранее визуализированный в контекст изображения). Это прекрасно работает как для симулятора, так и для реального устройства, однако в последнем случае полученное изображение имеет несколько пикселей с искаженными цветами, как показано здесь:
http://img300.imageshack.us/img300/2788/screencap.png
Обратите внимание на несколько пикселей фуксии на верхней панели навигации, по обе стороны от поля поиска и справа от кнопки. Есть также такие пиксели справа от нижней левой кнопки.
Код, который я использую для захвата изображения экрана в объект UIImage, довольно прост:
UIGraphicsBeginImageContext(self.view.window.frame.size);
[self.view.window.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *anImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
Следует отметить, что вся искаженная графика относится к пользовательским файлам PNG, используемым для рисования фона поля поиска, а также фона кнопок.
Кто-нибудь знает, что может быть причиной этого странного искажения цвета?
С уважением,