でUIViewをUIImageに変換できませんAVCaptureVideoPreviewLayer
を含むUIViewからスナップショットを作成してから、結果(UIView *)をUIImageに変換して表示したいのですが、UIImageが空ですすべての時間。NewPad 9.3.5
CGRect frame = CGRectMake(0, 0, 768, 893);
UIView *photo = [self.cameraView resizableSnapshotViewFromRect:frame afterScreenUpdates:YES withCapInsets:UIEdgeInsetsZero];
UIGraphicsBeginImageContextWithOptions(photo.bounds.size, NO, [[UIScreen mainScreen] scale]);
[photo drawViewHierarchyInRect:photo.bounds afterScreenUpdates:YES];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageView * iv = [[UIImageView alloc] initWithImage:image];
[iv setFrame:CGRectMake(0, 0, image.size.width, image.size.height)];
[self addSubview:iv];
CALayer * layer = [iv layer];
layer.borderWidth = 2.0f;
layer.borderColor = [[UIColor orangeColor] CGColor];
誰もが正しいUIImageを取得できない理由を知っていましたか?
Xcode Version 8.2.1 (8C1002) MacOS Sierra 10.12.3(16D32) Deployment Target 9.3 iPad iOS 9.3.5
'[photo.layer renderInContext:UIGraphicsGetCurrentContext()];' does not work – leezhm
@leezhm Hm ..私はそれがうまくいくと思った..あなたのUIViewが描かれているのですか?そのdraw-functionで 'afterScreenUpdates:YES'を送ると、このコードが何を意味するのか分かりますか?私は..スクリーンが準備完了するまでビューを描画するのを待つかもしれませんが、コードの残りの部分がすぐに浮き立ちます。それを「いいえ」に変更してみてください。 – Sti
YESとNOを試してください。うまくいかない!私のプロジェクトはiPadアプリです。このトピックが見つかりました。https://github.com/jfradj/ScreenshotIssue http://stackoverflow.com/questions/25432222/drawviewhierarchyinrectafterscreenupdates-and-renderincontext-dont-work-ot – leezhm