我正在尝试使用 Swift 创建一个 iOS 应用程序来捕获图像并让用户保存图像的选定部分。在许多基于摄像头的应用程序中,我注意到提供了一个矩形框来让用户选择所需的部分。这涉及滑动矩形的边缘或移动角以适合所需区域。
能否请您指导我如何实现可移动矩形以及如何仅保存那部分图像?
最佳答案
使用 Swift 3
可以使用 CoreGraphics 中的 CGImages 进行图像裁剪。
像这样获取 UIImage 的 CGImage 版本:
// cgImage is an attribute of UIImage
let cgImage = image.cgImage
CGImage 对象有一个方法 cropping(to: CGRect) 进行裁剪:
let croppedCGImage: CGImage = cgImage.cropping(to: toRect)
最后,将 CGImage 转换回 UIImage:
let uiImage = UIImage(cgImage: croppedCGImage)
示例函数:
func cropImage(image: UIImage, toRect: CGRect) -> UIImage? {
// Cropping is available trhough CGGraphics
let cgImage :CGImage! = image.cgImage
let croppedCGImage: CGImage! = cgImage.cropping(to: toRect)
return UIImage(cgImage: croppedCGImage)
}
裁剪的 CGRect 属性定义了图像中将被裁剪的“裁剪矩形”。
关于ios - 如何使用 Swift 选择图像的一部分、裁剪并保存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31254435/