nicht konvertieren - (nullable UIView *)resizableSnapshotViewFromRect:(CGRect)rect afterScreenUpdates:(BOOL)afterUpdates withCapInsets:(UIEdgeInsets)
Snapshot von einer UIView, die eine AVCaptureVideoPreviewLayer
enthalten, und dann möchte ich das Ergebnis (UIView *) in UIImage konvertieren, und zeigen Sie, aber die UIImage ist leer die ganze Zeit.Kann UIView in UIImage auf 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];
Wusste jemand, warum das nicht das richtige UIImage bekommen kann?
Xcode Version 8.2.1 (8C1002) MacOS Sierra 10.12.3(16D32) Deployment Target 9.3 iPad iOS 9.3.5
'[Foto.layer renderInContext: UIGraphicsGetCurrentContext()];' funktioniert nicht – leezhm
@leezhmhm Hm .. Ich dachte, es würde funktionieren .. Bist du sicher, dass deine UIView gezeichnet wurde? Sie senden 'afterScreenUpdates: YES' in diese Zeichenfunktion, wissen Sie, was dieser Code bedeutet? Ich nicht .. Vielleicht wartet es mit dem Zeichnen der Ansicht, bis der Bildschirm bereit ist, aber der Rest Ihres Codes wird sofort angezeigt. Versuchen Sie es in "NEIN" zu ändern? – Sti
versuchen, JA und NEIN, es funktioniert nicht! Mein Projekt ist eine iPad-App, und ich fand dieses Thema https://github.com/jfradj/ScreenshotIssue http://stackoverflow.com/questions/25432222/drawviewhierarchyinrectafterscreenupdates-and-renderincontext-dont-work-ot – leezhm