【发布时间】:2020-01-04 22:26:16
【问题描述】:
我正在使用下面的代码截取屏幕截图,但它将相机视图替换为全黑(尽管所有其他 UI 元素都很好——我需要相机视图和 UI 元素)。
我发现的所有类似问题的答案都非常陈旧/已弃用,或者在 Swift 中。如果有人对此问题有简单、Obj-C 解决方案,将不胜感激。
谢谢!
if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)]) {
UIGraphicsBeginImageContextWithOptions(self.view.window.bounds.size, NO, [UIScreen mainScreen].scale);
} else {
UIGraphicsBeginImageContext(self.view.window.bounds.size);
}
[self.view.window.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
NSData *imageData = UIImagePNGRepresentation(image);
if (imageData) {
[imageData writeToFile:@"Screenshot.png" atomically:YES];
NSLog(@"Screenshot write successful");
} else {
NSLog(@"Error while taking screenshot");
}
【问题讨论】:
-
相机视图变黑是什么意思?您是否要截取相机的屏幕截图?这个问题有点混乱
-
@AnjulaS。是的,我正在尝试以编程方式截取屏幕截图,但屏幕上的摄像头视图显示为黑色,而不是摄像头所看到的。
标签: ios objective-c ios13 avcapture