我已在我的故事板中将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正在重新调整视图大小,以便在我的显示中显示,因为当我以1000像素拍摄图像时,它会像素化一样。我的问题是,我可以制作1000px x 1000px的UIView并将其缩小以向用户显示但是当拍摄它的图像时,它将在原始的1000px处这样做吗?
答案 0 :(得分:1)
问题可能是您没有考虑不同的比例因子(视网膜/非视网膜)。
您可以尝试使用:
UIGraphicsBeginImageContextWithOptions(_ size: CGSize, _ opaque: Bool, _ scale: CGFloat)
并将0传递给比例尺(它会根据设备的屏幕自然比例因子自动设置比例)
最后,如果您定位iOS7 +,您还可以使用较新的API来查看快照:
-drawViewHierarchyInRect:afterScreenUpdates: