пятница, 29 июля 2011 г.

Сохранение пропорций изображения при масштабировании в одну строку

Кстати, а как вы обычно сохраняеете пропорции картинки при масштабировании? Делите одну сторону на другую?

А ведь в as3 есть гораздо более красивый способ. Изменяете размеры картинки до нужных размеров контейнера, а потом восстанавливаете пропорции таким незамысловатым образом:

image.scaleX < image.scaleY ? image.scaleY = image.scaleX : image.scaleX = image.scaleY;

Ленивые могут скопипастить себе полный метод:

function resizeObject(target:DisplayObject, maxWidth:Number, maxHeight:Number, keepAspect:Boolean=true):void
{
    target.width = maxWidth;
    target.height = maxHeight;
    if (keepAspect) 
    {
        target.scaleX < target.scaleY ? target.scaleY = target.scaleX : target.scaleX = target.scaleY;
    }
}

Комментариев нет:

Отправить комментарий