向 flash.display.Loader 添加边框

发布于 2024-10-25 13:10:16 字数 143 浏览 4 评论 0原文

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

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

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

我怎样才能做到这一点?

I'm developing an ActionScript 3 app for Blackberry PlayBook.

I'm loading an image with flash.display.Loader.

I want to show that image with a 5px black border.

How can I do that?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

故事还在继续 2024-11-01 13:10:16

嗯,这是一种方法。首先,将加载程序放置在 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。

Well, here's one approach. First you place the loader inside a "background" object at 5 px. from the top left.

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;

And then you draw the background based on the dimensions of the image (add 10 px.).

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();
}

Instead of adding the loader to the background Sprite object, you can also just keep it in its existing parent container and just add the background Sprite to that container itself, but behind the loader. (In that case you can use Shape instead of Sprite for the background)

You could also just draw a border around the loader object in its existing parent container. See flash.display.Graphics API.

江南烟雨〆相思醉 2024-11-01 13:10:16

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

get the width and height of the image then draw a bg behind (+x width +y height) the image. if you're adding child into a mc you can use the .graphic from the flash.display library or just use bitmapdata and add to a bitmap, the former is easier.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文