【问题标题】:Iphone SDK: compare image sizesIphone SDK:比较图像大小
【发布时间】:2011-04-18 10:30:13
【问题描述】:

如何比较图片大小?

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

我失败了:(

谁能告诉我尺寸比较的工作原理吗?

【问题讨论】:

    标签: objective-c image cocoa-touch compare image-size


    【解决方案1】:

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

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

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

    【讨论】:

    • 当然,我必须等 7 分钟 :)
    【解决方案2】:

    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) {}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-13
      • 2012-03-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多