0

我正在为 Blackberry PlayBook 开发一个 ActionScript 3 应用程序。

我正在使用 flash.display.Loader 加载图像。

我想用 5px 黑色边框显示该图像。

我怎样才能做到这一点?

4

2 回答 2

1

好吧,这是一种方法。首先,您将加载器放置在 5 px 的“背景”对象中。从左上角。

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。

于 2011-03-22T20:15:40.407 回答
0

获取图像的宽度和高度,然后在图像后面(+x 宽度 +y 高度)绘制一个 bg。如果您将孩子添加到 mc 中,您可以使用 flash.display 库中的 .graphic 或仅使用 bitmapdata 并添加到位图中,前者更容易。

于 2011-03-22T19:33:38.690 回答