這是在嘗試將圖像保存到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的圖像存在和相似。
我的問題是:在作物過程中是否有某些東西阻止儲蓄正常發生?
(請迅速回答)