gpt4 book ai didi

ios - UIImagePickerController 编辑图像 - 在 Swift 2 中将 NSRect 转换为 CGRect

转载 作者:搜寻专家 更新时间:2023-11-01 06:40:58 24 4
gpt4 key购买 nike

我正在尝试裁剪已通过 UIImagePicker 选择和编辑的图像。由于某些原因,选择器不返回 UIImagePickerControllerEditedImage值(value)。所以我想做的是获取原始值并根据 UIImagePickerControllerCropRect 中的矩形裁剪它但那是 NSRect我需要将其转换为 CRRect裁剪它。这是我的图像选择器 Controller 功能:

func imagePickerController(picker: UIImagePickerController, didFinishPickingImage image: UIImage, editingInfo: [String : AnyObject]?) {
//Cut photo or show subview
let chosenImage : UIImage
print(editingInfo)
if let possibleImage = editingInfo!["UIImagePickerControllerEditedImage"] as? UIImage {
print("Edited image")
chosenImage = possibleImage

} else if let possibleImage = editingInfo!["UIImagePickerControllerOriginalImage"] as? UIImage {
print("Non edited image")

if let rectangle = editingInfo!["UIImagePickerControllerCropRect"] as? [[Int]] {

print(rectangle[0])

}

let rect: CGRect = CGRectMake(0, 230, 750, 750)


let imageRef: CGImageRef = CGImageCreateWithImageInRect(possibleImage.CGImage, rect)!

let image: UIImage = UIImage(CGImage: imageRef, scale: image.scale, orientation: image.imageOrientation)
chosenImage = image
} else {
return
}


self.profilePicture.image = chosenImage.rounded?.circle
dismissViewControllerAnimated(true) { () -> Void in

//update the server
}
}

除了根据 CGRectMake(0, 230, 750, 750) 中的矩形裁剪图像外,其他一切正常。我想用 UIImagePickerControllerCropRect 的值代替固定值.如果您对如何获得它有任何建议,请告诉我。

谢谢!

最佳答案

var rect: CGRect = CGRectMake(0, 230, 750, 750)
if let rectangle = editingInfo!["UIImagePickerControllerCropRect"] as? NSValue {
rect = rectangle.CGRectValue()
}

let imageRef: CGImageRef = CGImageCreateWithImageInRect(possibleImage.CGImage, rect)!

我想你使用了错误的变量

关于ios - UIImagePickerController 编辑图像 - 在 Swift 2 中将 NSRect 转换为 CGRect,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35492115/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com