Необходимо создать снимок представления во время выполнения - PullRequest
2 голосов
/ 07 июля 2010

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

- (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;
}

(Источник: ССЫЛКА )

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

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

1 Ответ

0 голосов
/ 07 июля 2010

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

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

Вам просто нужно объявить его прототип, чтобы компилятор не жаловался:

CGImageRef UIGetScreenImage( void );

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

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