0

如何比较图像大小?

我试着做这样的事情:if (image1.image.size > image2.image.size) {}

我失败了 :(

有人可以告诉我尺寸比较是如何工作的吗?

4

2 回答 2

3

也许值得比较他们的领域?

if (image1.image.size.width * image1.image.size.height > image2.image.size.width *image2.image.size.height) 
{
    //Do smth
}

您应该自己决定“更大”的含义。

于 2011-04-18T10:33:43.017 回答
1

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) {}
于 2011-04-18T10:53:12.457 回答