2010-07-15 1 views
0

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

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

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

ответ

0

непроверенная, но дать этому идти:

<mx:Image id="img" scaleContent="{img.contentWidth > img.width || img.height > img.height}"/> 
+0

не работает хорошо, большие снимки уменьшаются, но не правильно (например, когда вы устанавливаете значение свойства в true с самого начала). – user273895

+0

Определите «не правильно», не соответствует ли соотношение сторон или выглядит изображение Плохо? Если первое, установите для параметра maintainAspectRatio значение true. Если последнее, попробуйте установить smoothBitmapContent в true. Надеюсь, это поможет. –

0

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