2013-02-25 83 views
0

我只是尝试从HTML URL变量加载外部图像。 例如:SRC = “http://mysite.com/flash/load.swf?imageURL=http://mysite.com/img/image.jpg”AS3如何获得外部图像的宽度和高度

var imageURL:String = this.loaderInfo.parameters.imageURL; 
    var murl:URLRequest = new URLRequest(imageURL); 
    var loader:Loader = new Loader(); 
    loader.load(murl); 
    loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, loadProgress); 
    loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete); 


function loadProgress(event:ProgressEvent):void 
{ 
    var percentLoaded:Number = Math.round((event.bytesLoaded/event.bytesTotal) * 100); 
    trace("Loading: "+percentLoaded+"%"); 
} 

function loadComplete(event:Event):void 
{ 
    trace("Complete"); 
    mc.addChild(loader); 
} 

是的,这是工作。 但我想知道图像的宽度和高度信息。 对于我试图为图像信息

function loadComplete(event:Event):void 
{ 
    trace("Complete"); 
    var bm:Bitmap = Bitmap(loader.content); 
    var CXL = bm.width; 
    var CYL = bm.height; 

做到这一点,但它无法正常工作。 任何建议,请致谢

回答

1

你并不需要提取contentbitmap得到的宽度和高度。由于Loader是一个DisplayObject,它的宽度和高度与加载到它的图像相同。所以loader.widthloader.height

+0

是的这是工作 感谢兄弟 – user2105386 2013-02-25 21:28:32

1

事件应该有一个target.content它是加载的bmp,​​你应该能够从中获取widht/height。

function loadComplete(event:Event):void 
{ 
    var bmp:Bitmap = event.target.content as Bitmap; 
    trace("Complete width : "+ bmp.width); 
} 
+0

感谢这个,但它不是这样工作 – user2105386 2013-02-25 20:06:16

+0

什么不工作?宽度是0吗?或者是bmp对象为空? – 2013-02-25 20:07:08

+0

它是从HTML变量 中断加载外部图像,如果我给AS3直接图像URL变量,那么它是工作。 – user2105386 2013-02-25 20:11:40