这是在尝试将图像保存到Parse.com后端的快速应用程序的上下文中 在该项目中,我将原始图像裁剪成方形:无法保存从CIImage和UIImage切换格式的裁剪图像
@IBOutlet weak var imageContainer: UIImageView! //Original image container
@IBOutlet weak var dest: UIImageView! //Cropped image container
原始图像去低谷此:
//Crop image
let croppedImage = imageContainer.image
let ciImage = CIImage(image: croppedImage)
let ciImageCropped = ciImage.imageByCroppingToRect(grabberRectangleCoordinates)
let finalImageToUIImage = UIImage(CIImage: ciImageCropped!)
dest.image = finalImageToUIImage as UIImage!
当我比较两者的println图像()我得到的结果非常相似:
//Cropped
Optional(<UIImage: 0x79e7a0b0> size {850, 850} orientation 0 scale 1.000000)
//Original
Optional(<UIImage: 0x7992d390> size {1280, 850} orientation 0 scale 1.000000)
所以你看到两个图像确实存在并且是相似的。我在屏幕上看到他们都在他们的容器中。
不过,当我试图挽救与解析:
let user = PFUser.currentUser()
let imageData = UIImagePNGRepresentation(dest.image!)
let imageFile = PFFile(name:"image.png", data:imageData)
var userEntry = PFObject(className:"Photos")
userEntry["imageFile"] = imageFile
//save code below but doesn't matter
它扇着错误消息崩溃:
终止应用程序由于未捕获的异常 'NSInternalInconsistencyException',原因:“莫非不保存文件数据 for image.png:(null)'
什么是奇怪的,并阻止我在这里,是在保存代码时,我取代裁剪容器dest.image!通过原始图像容器imageContainer.image !,它运行良好,但我们看到与println的图像存在和相似。
我的问题是:在作物过程中是否有某些东西阻止储蓄正常发生?
(请迅速回答)