簡體   English   中英

UIimage使用Swift檢測風景圖像

[英]UIimage Detect Landscape Image with Swift

我想從圖書館看照片

在這個功能

 func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
        let pickedImage = info[UIImagePickerControllerOriginalImage] as? UIImage

現在我想知道是否是風景照,我嘗試將此代碼綁定

if(pickedImage?.size.width > pickedImage?.size.height)

但是我收到此錯誤二進制運算符'>'無法應用於兩個'CGFloat?' 操作數我怎么能解決這個問題

嘗試這個

 if let pickedImage = info[UIImagePickerControllerOriginalImage] as? UIImage

   { 
      if pickedImage.size.width > pickedImage.size.height 
      {
         /// landscape mode
      }

   }

}

您嘗試使用Optional值而不是未包裝的問題。 要釋放價值,您可以使用guard

guard let pickedImage = pickedImage else { 
    // false logic here
    return 
}

if pickedImage.size.height > pickedImage.size.height {

} else {

}

順便說一句,您確定要將pickedImage的高度pickedImage自身進行比較嗎? 看起來很奇怪。

我找到此代碼的解決方案? ->!

if(pickedImage!.size.width > pickedImage!.size.height)

另一種可能的解決方案是使用開關模式匹配:

switch image?.size {
case .some(let size) where size.height > size.width:
  // do something
default:
  break
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM