gpt4 book ai didi

iOS 相机问题 (Swift)

转载 作者:行者123 更新时间:2023-11-29 01:54:29 26 4
gpt4 key购买 nike

我正在尝试运行一个条件来测试图像是否为“silhouette.png”,然后再使用 imagePickerController 从相机拍摄的图片覆盖图像。

条件不起作用并导致我的应用程序崩溃,因为 imageView1.image 是“可选(尺寸 {225, 225} 方向 0 比例 1.000000)”并且根据我的 println() 值不断变化。如何检查 imageView1.image 是否是 Silhouette.png(默认图像占位符)而不是来自相机的新图像(newMedia == true)?

我这样做是有条件的,因为我希望我的 viewController 上有多个 imageView,并且我希望 imagePickerController 在覆盖图像之前检查图像。

谢谢。

func imagePickerController(picker:UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject:AnyObject]){
//what happens after the picture is chosen
let oldImage = UIImage(named:"silhouette.png")
println(imageView1.image)
//if conditional that isn't working
if imageView1.image == oldImage {
let mediaType = info[UIImagePickerControllerMediaType] as! NSString
self.dismissViewControllerAnimated(true, completion: nil)
if mediaType.isEqualToString(kUTTypeImage as NSString as String){
let image = info[UIImagePickerControllerOriginalImage] as! UIImage
imageView1.image = image
if (newMedia == true){
UIImageWriteToSavedPhotosAlbum(image, self, "image:didFinishSavingWithError:contextInfo:", nil)
}
}
}

最佳答案

您的条件无效,您正在比较同一图像的两个不同实例。它永远不会起作用。

另一种解决方案是像这样比较两个图像数据:

    let data1 =  UIImagePNGRepresentation(oldImage)
let data2 = UIImagePNGRepresentation(imageView1.image)

if data2.isEqualToData(data1) {
//Do your stuff
}

关于iOS 相机问题 (Swift),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31036387/

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