Показать сообщение отдельно
Старый 20.03.2009, 09:33
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 6  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
>>Может ошибка в том как я получаю ByteArray?
похоже, что так
затрудняюсь сказать почему, но когда скармливаем лоадеру loaderInfo.bytes, то получаем в его content'е MovieClip
а если загрузить картинку как бинарник, то все нормально - имеем Bitmap
Код AS3:
package 
{
	import flash.display.*;
	import flash.events.*;
	import flash.net.*;
	import flash.utils.ByteArray;
 
	public class Main extends Sprite 
	{
		private var loader:Loader = new Loader();
		private var loader1:Loader = new Loader();
		private var urlLoader:URLLoader = new URLLoader();
		public function Main():void 
		{
 
			loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeIMG);
			loader1.contentLoaderInfo.addEventListener(Event.COMPLETE, completeDecode);
			urlLoader.addEventListener(Event.COMPLETE, completeData);
			urlLoader.dataFormat = URLLoaderDataFormat.BINARY;
			//loader.load(new URLRequest("face0.jpg"));//то, что происходит у автора
			urlLoader.load(new URLRequest("face0.jpg"));//работающий вариант
		}
 
		private function completeData(evnt:Event):void 
		{
			var ba:ByteArray = urlLoader.data;
			loader1.loadBytes(ba);
		}
 
		private function completeIMG(evnt:Event):void 
		{
			var ba:ByteArray = loader.content.loaderInfo.bytes;
			loader1.loadBytes(ba);
		}
 
		private function completeDecode(evnt:Event):void 
		{
			var myBmp : DisplayObject = loader1.content as DisplayObject;
			trace( "myBmp : " + myBmp );
			//[object MovieClip] если отдавать loaderInfo.bytes;
			//[object Bitmap] если отдавать urlLoader.data;
		}
 
	}
 
}
ps.
к слову сказать: в AVM1 jpg, загруженный с помощью MovieClipLoader.loadClip или MovieClip.load, тоже никакого отношения к графике уже не имел


Последний раз редактировалось silin; 20.03.2009 в 09:50.