скриншот программно не работает - PullRequest
3 голосов
/ 23 января 2011

Я делаю это, но я всегда получаю белую картинку.Кто-нибудь знает, почему?

- (void) screenshotButtonAction{
    UIGraphicsBeginImageContext(self.view.bounds.size);
    [self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
    UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

    UIImageWriteToSavedPhotosAlbum(viewImage, nil, nil, nil);
}

self является контроллером uiview и поддерживает представление opengl (UIView + CAEAGLLayer)

РЕДАКТИРОВАТЬ: Я понял, что только GLвид не скриншот-ред.Странно, но подпредставления и подслои вида gl выглядят хорошо, но на снятом изображении вид opengl белый.Должно ли это быть что-то с текущим контекстом?
Это приложение AR, и в виде gl показывается вход камеры + объекты AR, поэтому glview всегда отображается (обновляется). Что здесь может происходить?

1 Ответ

1 голос
/ 24 января 2011

Код выглядит хорошо. Убедитесь, что вы уже добавили QuartzCore.framework и импортируйте его в свой файл .m.

#import <QuartzCore/QuartzCore.h>
...