Получить оригинальную ширину и высоту изображения в ActionScript - PullRequest
1 голос
/ 14 марта 2009

Я использую AS3 во Flex 3 для создания нового изображения и, похоже, не могу получить точный размер исходного изображения. Процентные высоты и процентные значения от 100 до 100 могут выполнять эту работу, но ограничение в ObjectHandlers требует от меня установки масштаба изображения в пикселях.

Любое решение?

1 Ответ

6 голосов
/ 15 марта 2009

Примечание: это также применимо для отображения исходного размера изображения без элемента управления ObjectHandler, просто удалите те строки, которые не применимы.

После нескольких часов борьбы за решение, я нашел свой собственный ответ через форум на ActionScript, на самом деле, только одно решение, я удивляюсь, что в другом месте такой темы не было.

private function init():void {
    var image:Image = new Image();
    image.source = "http://www.colorjack.com/software/media/circle.png";
    image.addEventListener(Event.COMPLETE, imageLoaded);
    /* wait for completion as Image control is asynchronous,
     * which mean ObjectHandler will attempt to load asap
     * and you are not able to get the correct dimension for scaling.
     * EventListener fixed that.
     */
    this.addChild(image);
    //whenever you scale ObjectHandler control, the image is always fit by 100%
    image.percentHeight = 100;
    image.percentWidth = 100;
}

private function imageLoaded(e:Event):void{
    var img:Image = e.target as Image;
    trace("Height ", img.contentHeight);
    trace("Width ", img.contentWidth);
    var oh:ObjectHandles = new ObjectHandles();
    oh.x = 200;
    oh.y = 200;
    oh.height = img.contentHeight;
    oh.width = img.contentWidth;
    oh.allowRotate = true;
    oh.autoBringForward = true;
    oh.addChild(img);
    genericExamples.addChild(oh);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...