0

我在从外部源加载图像时遇到问题(这可以正常工作,但我们将服务器更改为 https 并进行了一些调整)。现在,当我加载图像时,没有错误,但是宽度,高度都是0。图像也是空白的。我尝试用这个脚本加载一些随机的互联网图像,它工作正常。但是对于原版 - (https://www.lovemarks.co/images/be50fe37eac192fb7c0d17353f5ef993a.jpg) - 它不起作用。

var somethingLoaded:Boolean = true;
var actualPic:*;
var pictLdrX:Loader = new Loader();
var pictURLX:String = 'https://www.lovemarks.co/images/be50fe37eac192fb7c0d17353f5ef993a.jpg';
var pictURLReqX:URLRequest = new URLRequest(pictURLX);
var loaderContext:LoaderContext = new LoaderContext();
pictLdrX.load(pictURLReqX);
pictLdrX.contentLoaderInfo.addEventListener(Event.INIT , loadedRemember)                    

function loadedRemember(event:Event){
    var targetLoader:Loader = Loader(event.target.loader);
    var newmc:MovieClip = new MovieClip();
    addChild(newmc);
    newmc.addChild(targetLoader.content);
    newmc.x = -targetLoader.width/2;
    newmc.y = -targetLoader.height/2;
    trace ('w+'+targetLoader.width);     
    trace ('h+'+targetLoader.height);
    trace ('x+'+newmc.x);
    trace ('y+'+newmc.y);   
}
4

1 回答 1

0

这样做的方法是首先听Event.COMPLETE而不是Event.INIT

pictLdrX.contentLoaderInfo.addEventListener(Event.COMPLETE , loadedRemember);

然后,不用在处理程序中引用实际的加载程序,只需通过首先将图像转换Event.target.content为 a来直接引用图像Bitmap

function loadedRemember(event:Event)
{
    trace("loadedRemember()");

    var newmc:Bitmap = Bitmap(event.target.content);
    addChild(newmc);
    // Your math to center may need to be adjusted
    // to account for such a big image size
    newmc.x = -newmc.width/2;
    newmc.y = -newmc.height/2;

    trace ('w+'+newmc.width + '\nh+'+newmc.height + '\nx+'+newmc.x + '\ny+'+newmc.y);   
}

此外,在输出窗口中检查与跨域相关的任何安全错误。

于 2013-07-15T19:37:17.250 回答