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