Добавление границы в flash.display.Loader - PullRequest
0 голосов
/ 22 марта 2011

Я разрабатываю приложение ActionScript 3 для Blackberry PlayBook.

Я загружаю изображение с помощью flash.display.Loader.

Я хочу показать это изображение с черной рамкой 5px.

Как я могу это сделать?

Ответы [ 2 ]

1 голос
/ 22 марта 2011

Ну, вот один подход.Сначала вы помещаете загрузчик внутри «фонового» объекта на 5 пикселей.сверху слева.

background = new Sprite();
addChild(background);

loader = new Loader();

loader.contentLoaderInfo.addEventListener(Event.COMPLETE,
    loaderCompleteHandler);

loader.load(new URLRequest(url));

background.addChild(loader);

// place loader 5 px. from top left
loader.x = 5;
loader.y = 5;

И затем вы рисуете фон на основе размеров изображения (добавьте 10 пикселей.).

private function loaderCompleteHandler(event:Event):void
{
    var w:Number = loader.contentLoaderInfo.width;
    var h:Number = loader.contentLoaderInfo.height;

    var g:Graphics = background.graphics;

    g.clear();

    // draw background
    g.beginFill(0x000000);
    g.drawRect(0, 0, w + 10, h + 10);
    g.endFill();
}

Вместо добавления загрузчика вфоновый объект Sprite, вы также можете просто сохранить его в существующем родительском контейнере и просто добавить фоновый Sprite в этот контейнер, но за загрузчиком.(В этом случае вы можете использовать Shape вместо Sprite для фона)

Вы также можете просто нарисовать границу вокруг объекта загрузчика в его существующем родительском контейнере.См. Flash.display.Graphics API.

0 голосов
/ 22 марта 2011

получите ширину и высоту изображения, затем нарисуйте bg позади (+ x width + y height) изображения.если вы добавляете child в mc, вы можете использовать .graphic из библиотеки flash.display или просто использовать bitmapdata и добавить в растровое изображение, первое проще.

...