我正在为 Blackberry PlayBook 开发一个 ActionScript 3 应用程序。
我正在使用 flash.display.Loader 加载图像。
我想用 5px 黑色边框显示该图像。
我怎样才能做到这一点?
我正在为 Blackberry PlayBook 开发一个 ActionScript 3 应用程序。
我正在使用 flash.display.Loader 加载图像。
我想用 5px 黑色边框显示该图像。
我怎样才能做到这一点?
好吧,这是一种方法。首先,您将加载器放置在 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。
获取图像的宽度和高度,然后在图像后面(+x 宽度 +y 高度)绘制一个 bg。如果您将孩子添加到 mc 中,您可以使用 flash.display 库中的 .graphic 或仅使用 bitmapdata 并添加到位图中,前者更容易。