Показать сообщение отдельно
Старый 29.08.2012, 13:39
AlexCooper вне форума Посмотреть профиль Отправить личное сообщение для AlexCooper Найти все сообщения от AlexCooper
  № 4  
Ответить с цитированием
AlexCooper
 
Аватар для AlexCooper

Регистрация: Sep 2008
Адрес: Черкассы
Сообщений: 1,167
Записей в блоге: 1
Отправить сообщение для AlexCooper с помощью ICQ Отправить сообщение для AlexCooper с помощью Skype™
Вот Вам класс.
Код AS3:
package src {
 
	import flash.display.Loader;
	import flash.display.LoaderInfo;
	import flash.events.Event;
	import flash.utils.ByteArray;
	import flash.display.Bitmap;
	import flash.display.BitmapData;
	import flash.net.URLRequest;
	import flash.display.Sprite;
 
	public class loadPictures extends Sprite {
 
		public var bitmap:Bitmap;
 
		public function loadPictures($url):void {
 
			bitmap = new Bitmap();
 
			var req:URLRequest = new URLRequest($url);
			var _picLoader:Loader = new Loader();
				_picLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,loader2ByteArray);
 
			_picLoader.load(req);
		}
 
		private function loader2ByteArray(evt:Event):void {
 
			var lInfo:LoaderInfo = LoaderInfo(evt.target);
			var ba:ByteArray = lInfo.bytes;
 
			reloadByteArray(ba);
		}
 
		private function reloadByteArray(ba:ByteArray):void {
 
			var reloader:Loader = new Loader();
				reloader.loadBytes(ba);
 
				reloader.contentLoaderInfo.addEventListener(Event.COMPLETE, reloaderComplete);
		}
 
		private function reloaderComplete(evt:Event):void {
 
			var imageInfo:LoaderInfo = LoaderInfo(evt.target);
 
			var bmd:BitmapData = new BitmapData(imageInfo.width,imageInfo.height);
 
				bmd.draw(imageInfo.loader);
 
			bitmap = new Bitmap(bmd);
			bitmap.smoothing = true;
			addChild(bitmap);
 
			dispatchEvent(new Event("LOAD_COMPLETE"));
		}
	}
}
пример
Код AS3:
import src.loadPictures;
var maxsize:uint = 300;
var image:loadPictures = new loadPictures("http://www.images.com/image.jpg");
image.addEventListener("LOAD_COMPLETE", resize);
 
addChild(image);
 
private function resize(e:Event):void{
	var k = maxsize/Math.max(e.target.width,e.target.height);
	e.target.width *= k;
	e.target.height *= k;
}
Добавлено через 2 минуты
Недостаток: Отсутствие альфа канала у png
__________________
return this...