Ios 保持相同纵横比的裁剪图像

Ios 保持相同纵横比的裁剪图像,ios,swift,Ios,Swift,我正在开发一个应用程序,您可以在其中编辑照片,这些照片显示为scaleAspectFill。当我知道要保存照片时,编辑的内容不在正确的位置。(UIImageView名称为ImageView)。 这就是为什么我试图裁剪我的图像,但我真的不知道我真的应该使用哪些值,我尝试了许多可能性 我的代码是: func crop() -> UIImage { let x:CGFloat = ImageView.frame.maxX let y:CGFloat = ImageView.fra

我正在开发一个应用程序,您可以在其中编辑照片,这些照片显示为
scaleAspectFill
。当我知道要保存照片时,编辑的内容不在正确的位置。(UIImageView名称为ImageView)。 这就是为什么我试图裁剪我的图像,但我真的不知道我真的应该使用哪些值,我尝试了许多可能性

我的代码是:

func crop() -> UIImage {
    let x:CGFloat = ImageView.frame.maxX
    let y:CGFloat = ImageView.frame.maxY
    let width:CGFloat = ImageView.frame.width
    let height:CGFloat = ImageView.frame.height
    let croppedCGImage = ImageView.image?.cgImage?.cropping(to: CGRect(x: x, y: y, width: width, height: height))
    let croppedImage = UIImage(cgImage: croppedCGImage!)

    return croppedImage
}
我也用maxX/maxY试过了,这就是为什么写在那里


更新 所以我编辑了图像,现在我想保存它,但是现在它真的很小,所以如果你能帮忙,那就太好了

这是第一张图片,应该是什么样子

这就是结果


您可能在正确的轨道上,但工作方式不正确。Aspect fill更改图像大小以填充帧参数-它也不会以任何“方式、形状或形式”更改图像大小(请原谅文字游戏)。你能给出一个完整的例子来说明(a)来源,(b)结果,和(c)你的期望吗?谢谢,看起来怎么样update@dfd你有什么想法吗