как я могу узнать, нужно ли уменьшить изображение?

Я пытаюсь создать в Flex представление плитки, которое показывает некоторые изображения, которые есть у пользователя. Изображения разного размера, некоторые маленькие, а некоторые большие.

Я пытаюсь использовать List и создать ItemRenderer, у которого есть свойство Image, которое отображает пользовательские изображения (изображения передаются в свойство source объекта Image), я хочу, чтобы большие изображения были уменьшены до размер плитки, поэтому я установил для свойства scaleContnet объекта изображения значение true, но это приводит к тому, что маленькие изображения масштабируются до размера плитки, это не то поведение, которое я хочу.

все изображения встроены в объекты класса и передаются в качестве аргументов в ItemRenderer, как я могу узнать в ItemRenderer, нужно ли мне установить для свойства scaleContnet объекта изображения значение true (для больших изображений) или false (для небольших картинки)?


person user273895    schedule 15.07.2010    source источник


Ответы (2)


Не проверено, но попробуйте:

<mx:Image id="img" scaleContent="{img.contentWidth > img.width || img.height > img.height}"/>
person Wade Mueller    schedule 15.07.2010
comment
не работает хорошо, большие изображения уменьшаются, но не должным образом (например, когда вы устанавливаете значение свойства в true с самого начала) - person user273895; 16.07.2010
comment
Неправильно определить, неправильное соотношение сторон или изображение выглядит плохо? В первом случае установите для параметра keepAspectRatio значение true. В последнем случае попробуйте установить для smoothBitmapContent значение true. Надеюсь, это поможет. - person Wade Mueller; 16.07.2010

Я говорю, что укажите ширину и высоту внутри вашего тега. как <mx:Image width="100" height="200" source="XXX" /> Это ограничит размер вашего изображения 100 шириной и 200 высотой.

person FlyingCat    schedule 16.07.2010