Необходимо создать снимок представления во время выполнения

72
8

Мне нужно сделать снимок моего текущего ipad-view. Этот просмотр загружает и воспроизводит видео.
Я нашел эту функцию, которая работает почти очень хорошо.


- (UIImage*)captureView:(UIView *)view {
CGRect rect = [[UIScreen mainScreen] bounds];
UIGraphicsBeginImageContext(rect.size);
CGContextRef context = UIGraphicsGetCurrentContext();
[view.layer renderInContext:context];
UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return img;
}

(Источник от: LINK)


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


Спасибо за ваше время и помощь.

спросил(а) 2010-07-07T18:34:00+04:00 10 лет, 4 месяца назад
1
Решение
129

Вы пытались использовать функцию UIGetScreenImage()?


Он частный, но Apple позволяет его использовать, поэтому ваше приложение будет проверено для App Store, даже если вы его используете.


Вам просто нужно объявить свой прототип, поэтому компилятор не будет жаловаться:

CGImageRef UIGetScreenImage( void );

Примечание: вы можете создать NSImage из CGImageRef со следующим методом NSImage:


- ( id )initWithCGImage: ( CGImageRef )cgImage size:( NSSize )size;

ответил(а) 2010-07-07T18:43:00+04:00 10 лет, 4 месяца назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема