【发布时间】:2011-04-18 10:30:13
【问题描述】:
如何比较图片大小?
我尝试做这样的事情:if (image1.image.size > image2.image.size) {}
我失败了:(
谁能告诉我尺寸比较的工作原理吗?
【问题讨论】:
标签: objective-c image cocoa-touch compare image-size
如何比较图片大小?
我尝试做这样的事情:if (image1.image.size > image2.image.size) {}
我失败了:(
谁能告诉我尺寸比较的工作原理吗?
【问题讨论】:
标签: objective-c image cocoa-touch compare image-size
也许值得比较他们的区域?
if (image1.image.size.width * image1.image.size.height > image2.image.size.width *image2.image.size.height)
{
//Do smth
}
您应该自己决定“更大”的含义。
【讨论】:
UIImage 的 size 属性是一个 C-struct 由两个参数组成,宽度和高度。要比较大小,您可以比较每个图像的总面积。如果你在比较 UIImages,下面的代码就可以了:
if (image1.size.width * image1.size.height > image2.size.width * image2.size.height) {}
请注意,如果您的代码引用 UIImages,则它有一个额外的图像。
但是,如果您要比较 UIImageViews,那么比较框架可能会更好。我不确定在某些情况下图像大小是否会偏离框架,例如根据 UIView 属性 contentMode 缩放图像时。 (请注意,UIImageView 继承自 UIView。)因此,要比较帧,代码如下:
if (imageView1.frame.size.width * imageView1.frame.size.height > imageView2.frame.size.width * imageView2.frame.size.height) {}
【讨论】: