我试图截取显示在iPhone显示屏上的所有内容的屏幕截图,与按住home + power按钮的方式完全相同。我现在有截图中的代码是这样的:截图显示所有内容
func screenShotMethod() {
//hide UI
buttonTrigger.hidden = true
//take screenshot
let layer = UIApplication.sharedApplication().keyWindow!.layer
let scale = UIScreen.mainScreen().scale
UIGraphicsBeginImageContextWithOptions(view.frame.size, false, scale);
layer.renderInContext(UIGraphicsGetCurrentContext()!)
let screenshot = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
UIImageWriteToSavedPhotosAlbum(screenshot, nil, nil, nil)
//show UI
buttonTrigger.hidden = false
}
的一点是,我使用的相机,并把照片在检测到任何的脸,最简单的方法是保存到相机胶卷仅仅是隐藏UI并截屏。然而,使用这种方法,我可以获得正确位置和大小的人脸跟踪图片的截图,但不会显示相机在下面看到的 - 只是白色。我能够像这样)使用CameraEngine框架在viewDidLoad中(相机:
override func viewDidLoad() {
super.viewDidLoad()
self.cameraEngine.startSession()
有没有更好的办法来截图一切行为像硬件引起的方法?或者我怎么能包含相机在屏幕截图中看到的内容?
谢谢!
更新:如果将来有人想知道我是如何解决这个问题的,因为我无法截图,所以我没有画出自己,我通过用相机拍摄照片并将该图像设置为视图的背景,然后执行截图功能,它的工作原理!
该答案中的代码是我此刻正在执行屏幕截图的过程,但屏幕截图不包含相机所看到的内容。也许我需要在UIView中启动相机会话? – Stickerbox