снимать скриншот UIView в iOS - PullRequest
       1

снимать скриншот UIView в iOS

4 голосов
/ 27 февраля 2012

Я использую iOS 4.3 и пытаюсь сделать снимок экрана UIView, в котором воспроизводится фильм. Проблема в том, что скриншот (в симуляторе) оказывается просто черным фоном, а не изображением фильма, на которое я надеялся. Мой код ниже, есть идеи, в чем дело? заранее спасибо:)

- (void) takeScreenshot;
{

    UIGraphicsBeginImageContextWithOptions(self.frame.size, NO, 0.0);
    [self.layer renderInContext:UIGraphicsGetCurrentContext()];
    UIImage *screenshot = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

    UIImageView *movieImage = [[UIImageView alloc] initWithImage:screenshot];
    [self addSubview:movieImage];

}

1 Ответ

2 голосов
/ 28 февраля 2012

В конце концов я нашел решение этой проблемы - как уже упоминалось выше, Джерик не может сделать снимок экрана (используя renderInContext), так как фильм использует слой OpenGL для рисования своего видео.

Однако естьспособ взять эскиз фильма (показанный ниже для текущего времени воспроизведения):

UIImage *image = [moviePlayer thumbnailImageAtTime:moviePlayer.currentPlaybackTime timeOption:MPMovieTimeOptionNearestKeyFrame];  

Надеюсь, это кому-нибудь поможет:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...