Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   использовать png как маску (http://www.flasher.ru/forum/showthread.php?t=152807)

adman 23.03.2011 14:26

использовать png как маску
 
нашёл хорошее решение, для загрузки двух картинок внешне погружаемых, одна как маска png, другая обычная картинка, может кому пригодиться

Код AS3:

var myBag:BitmapData;
var myMask:BitmapData;
var composite:BitmapData;
var result:Bitmap = new Bitmap ();
result = new Bitmap ();
addChild(result);
 
var loader1:Loader;
loader1 = new Loader();
loader1.load(new URLRequest("golova.png"));
loader1.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler1);
function completeHandler1(e:Event):void {
        myBag=Bitmap(loader1.contentLoaderInfo.content).bitmapData;
        loader1=null;
        if (loader2==null) {
                compose();
        }
}
 
var loader2:Loader;
loader2 = new Loader();
loader2.load(new URLRequest("maska.png"));
loader2.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler2);
function completeHandler2(e:Event):void {
        myMask=Bitmap(loader2.contentLoaderInfo.content).bitmapData;
        loader2=null;
        if (loader1==null) {
                compose();
        }
}
 
function compose():void {
        var rect:Rectangle=new Rectangle(0,0,stage.stageWidth,stage.stageHeight);
        var pt:Point=new Point(0,0);
 
        composite=new BitmapData(stage.stageWidth,stage.stageHeight,true,0);
        composite.copyPixels(myBag, rect, pt, myMask, pt);
        result.bitmapData=composite;
}



Часовой пояс GMT +4, время: 16:39.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.