How to check a image selected is Panorama image or Not

前端 未结 2 768
不知归路
不知归路 2021-01-23 01:37

How to check, the image selected from UIImagePickerController is a Panorama Image or not?

相关标签:
2条回答
  • 2021-01-23 02:07

    Swift 3.0

    As per above suggestion we can check panorama images are more in width so we can ignore large width images

    Normal Image info " size {960, 960} orientation 1 scale 1.000000"

    Panorama Image Info " size {13632, 2936} orientation 1 scale 1.000000"

    let str = "\(info["UIImagePickerControllerOriginalImage"]!)"
    
       let s = str.slice(from: "{", to: "}")
    
        if let arr = s?.components(separatedBy: ","){
            if arr.count >= 2 {
                if Int(arr[0])! > 11000 {
                    picker.dismiss(animated:true, completion: nil)
                    self.makeToast("Invalid Image!!!")
                    return
                }
    
                if Int(arr[1])! > 11000 {
                     picker.dismiss(animated:true, completion: nil)
                    self.makeToast("Invalid Image!!!")
                    return
                }
            }
     }
    
    0 讨论(0)
  • 2021-01-23 02:23

    In this UIImagePickerController delegate method (be sure to add delegate methods to your View Controller class):

    - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
      [self dismissViewControllerAnimated:YES completion:NULL];
      UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];   
    
      // determine if it's panorama by checking its dimension
      CGFloat imageWidth = image.size.width;
      CGFloat imageHeight = image.size.height;
    
      // display the image if needed
      [self.imageView setImage:image];
    
      self.imagePickerController = nil;
    }
    

    Theoretically panorama images have much longer width than normal image. But this can't check if it is a web image downloaded from elsewhere.

    0 讨论(0)
提交回复
热议问题