Цитата:
Сообщение от 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;
}
}
}
}
результат - цветное изображение просто скопировалось без каких-либо изменений.
к сообщению прикреплены примеры исходных изображений.