[英]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.