Iphone SDK: сравнить размеры изображений - PullRequest
0 голосов
/ 18 апреля 2011

Как я могу сравнить размеры изображений?

Я пытался сделать что-то вроде этого: if (image1.image.size > image2.image.size) {}

Я не смог: (

Может кто-нибудь сказать мне, как сравнение размеровработает?

Ответы [ 2 ]

3 голосов
/ 18 апреля 2011

Может стоит сравнить их области?

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

Вы должны решить сами, что означает "больше".

1 голос
/ 18 апреля 2011

Свойство size UIImage является C-структурой, состоящей из двух параметров, width и height.Чтобы сравнить размеры, вы можете сравнить общую площадь каждого изображения.Если вы сравниваете UIImages, подойдет следующий код:

if (image1.size.width * image1.size.height > image2.size.width * image2.size.height) {}

Обратите внимание, что в вашем коде, если он ссылается на UIImages, есть дополнительное изображение.

Однако, если вы сравниваете UIImageViews, вероятно, было бы предпочтительнее сравнить кадры.Я не уверен, может ли размер изображения отклоняться от кадра в некоторых случаях, например, когда изображение масштабируется в соответствии со свойством contentMode свойства UIView.(Обратите внимание, что UIImageView наследуется от UIView.) Таким образом, для сравнения кадров код будет выглядеть следующим образом:

if (imageView1.frame.size.width * imageView1.frame.size.height > imageView2.frame.size.width * imageView2.frame.size.height) {}
...