我已将UIView插入情节提要中的视图中,需要使用以下方法以1000px x 1000px的分辨率拍摄该图像
UIGraphicsBeginImageContext(createBoard.layer.frame.size)
createBoard.layer.renderInContext(UIGraphicsGetCurrentContext())
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
//Save it to the camera roll
UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil)
但是我认为swift正在调整视图的大小以显示在显示器中,因为当我以1000px拍摄图像时它会像素化。我的问题是,我可以将UIView制作为1000px x 1000px并缩小以显示给用户,但是当拍摄图像时,它将以原始的1000px进行显示吗?
问题可能是您没有考虑不同的比例因子(视网膜/非视网膜)。
您可以尝试使用:
UIGraphicsBeginImageContextWithOptions(_ size: CGSize, _ opaque: Bool, _ scale: CGFloat)
并将0传递给比例尺(它会根据设备的屏幕自然比例因子自动设置比例尺)
最后,如果您的目标是iOS7 +,则还可以使用较新的api来查看快照:
-drawViewHierarchyInRect:afterScreenUpdates:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句