Страница 1 из 1

Как узнать высоту и ширину загружаемой картинки

Добавлено: 27 мар 2010, 00:16
BANAN
Помогите плиз. Как правильно загрузить картинку с url, чтобы потом узнать ее ширину и высоту?

Re: Как узнать высоту и ширину загружаемой картинки

Добавлено: 27 мар 2010, 16:29
Александр

Код: Выделить всё

var photoLoader:Loader = new Loader();
var photo = 'http://'; // ссылка на изображение
var request:URLRequest=new URLRequest(photo);
photoLoader.load(request);
photoLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaded);

function onLoaded(e:Event):void {
         trace(photoLoader.width); // ширина
         trace(photoLoader.height); // высота
}

Re: Как узнать высоту и ширину загружаемой картинки

Добавлено: 28 мар 2010, 01:03
BANAN
Как их использовать в любом месте кода? Делал так

Код: Выделить всё

package vk
{
    import flash.display.*;
    import flash.events.*;
    import flash.net.*;
    import locale.*;
    import vk.gui.*;
    import vk.*;
	
public class myClass extends Sprite
{		
private var image_url:* = null;
private var image_W:* = null;
private var image_H:* = null;

//конструктор
public function myClass(img_url:*):void
{
//загрузка изобржений
LoadImage(img_url);

//почему тут после загрузки картинки image_W и image_H равны null, я же вроде как присвоил им значения в функции imgLoaded. Если же я пишу этот кусок кода в imgLoaded, то все работает
//так неработает
var bg:* = new Sprite();
bg.x = 100;
bg.y = 100;
bg.width = image_W;
bg.height = image_H;
Utils.rect ( bg, bg.x, bg.y, bg.width, bg.height, 0xffffff);
addChild(bg);
}
		
private function LoadImage(url:*):void
{
loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, imgLoaded);
loader.load(new URLRequest(url));
}

private function imgLoaded(e:Event):* 
{ 
image_H = loader.height;
image_W = loader.width; 

//так работает
var bg:* = new Sprite();
bg.x = 100;
bg.y = 100;
bg.width = image_W;
bg.height = image_H;
Utils.rect ( bg, bg.x, bg.y, bg.width, bg.height, 0xffffff);
addChild(bg);
}

}

Re: Как узнать высоту и ширину загружаемой картинки

Добавлено: 28 мар 2010, 22:29
Александр
Потому что это ActionScript :)
В первом случае, ты вызываешь функцию LoadImage, и функция только начинает выполняться, а приложение выполняет код дальше. То есть ещё не завершив эту функцию, а значит и не записав новые значения, которые записываются только в функции imgLoaded.
Правильно делать так как во втором случае.

Re: Как узнать высоту и ширину загружаемой картинки

Добавлено: 29 мар 2010, 07:41
BANAN
Ок, спасибо