Показать сообщение отдельно
Старый 02.10.2013, 14:07
imagi вне форума Посмотреть профиль Отправить личное сообщение для imagi Найти все сообщения от imagi
  № 4  
Ответить с цитированием
imagi

Регистрация: Oct 2013
Сообщений: 5
Цитата:
Сообщение от am_devcorp Посмотреть сообщение
А тот чёрно-белый пнг — маска для цветного, я правильно понял?
Если да, то делается это тривиально
воспользовавшись приведенной вами ссылкой получил такой код:

Код AS3:
package
{
	import flash.display.Bitmap;
	import flash.display.BitmapData;
	import flash.display.Loader;
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.geom.Point;
	import flash.net.URLRequest;
 
	public class test_loader extends Sprite
	{
		public function test_loader()
		{
			var loader1:Loader = new Loader();
			var loader2:Loader = new Loader();
 
			var myBag:BitmapData;
			var myMask:BitmapData;
			var composite:BitmapData;
 
			loader1.load(new URLRequest("symbol.png"));
			loader2.load(new URLRequest("symbol.jpg"));
 
			loader1.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler1);
			loader2.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler2);
 
			function completeHandler1(event:Event):void {
				myBag = Bitmap(loader1.contentLoaderInfo.content).bitmapData;
				loader1 = null;
				if(loader2 == null) compose();
			}
 
			function completeHandler2(event:Event):void {
				myMask = Bitmap(loader2.contentLoaderInfo.content).bitmapData;
				loader2 = null;
				if(loader1 == null) compose();
			}
 
			function compose():void
			{
				var bmd1:BitmapData = myMask;
				var bmd2:BitmapData = myBag;
 
				bmd2.copyPixels(bmd1, bmd1.rect, new Point());
 
				var bm1:Bitmap = new Bitmap(bmd1);
				addChild(bm1);
				var bm2:Bitmap = new Bitmap(bmd2);
				addChild(bm2);
				bm2.x = 150;
 
			}
		}
	}
}
результат - цветное изображение просто скопировалось без каких-либо изменений.
к сообщению прикреплены примеры исходных изображений.
Изображения