【发布时间】:2014-10-28 15:51:51
【问题描述】:
我已将 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 这样做吗?
【问题讨论】:
-
问题可能是您没有考虑不同的比例因子(视网膜/非视网膜)。您可以尝试使用
UIGraphicsBeginImageContextWithOptions(_ size: CGSize, _ opaque: Bool, _ scale: CGFloat)并将0传递给比例(它会根据设备的屏幕自然比例因子自动设置比例) -
@Alladinian 成功了!!!非常感谢!
-
不客气!很高兴能帮到你。添加为答案。