Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Заставить чёрно-белую картинку работать как альфа-канал (http://www.flasher.ru/forum/showthread.php?t=181203)

Universe 18.06.2012 12:47

Заставить чёрно-белую картинку работать как альфа-канал
 
У меня есть картинка чёрно-белого градиента, я хочу применить эту картинку как маску к другой. мне нужно, чтобы чёрные участки в маске скрывали, а белые показывали, т.е. чтобы маска работала как фотошопе. Как мне достичь данного эффекта?

etc 18.06.2012 12:57

copyChannel

Universe 18.06.2012 13:20

а можно примерчик по тому, как скопировать канал с одной bitmapDat'ы в альфа канал другой?

etc 18.06.2012 13:22

Вызвать метод copyChannel у одного битмапа, передав туда в качестве сорса другой, не?
Если картинка черно-белая с непрозрачной alpha, то можно в неё же любой из RGB-каналов скопировать.

Universe 19.06.2012 14:53

Есть bitmapData, в которой я генерю perlinNoise, для создания эффекта тумана, для того чтобы perlinNoise был прозрачный пробую скопировать синий канал к альфа канал всё тойже bitmapData, вот так:
Код AS3:

static private function animate(e:Event):void 
                {
                        for(var i=0; i<numOctaves; i++)
                        {
                                offsets[i].x += speeds[i].x;
                                offsets[i].y += speeds[i].y;
                        }
 
                        bmd.perlinNoise(baseX, baseY, numOctaves, randomSeed, stitch, fractalNoise, channelOptions, grayScale, offsets);
                        bmd.copyChannel(bmd, new Rectangle(0, 0, bmd.width, bmd.height), new Point(), BitmapDataChannel.BLUE, BitmapDataChannel.ALPHA);
                        //bmd.noise(500, 0, 255, BitmapDataChannel.BLUE,false);
                }

Но чего то прозрачность не добавляется

etc 19.06.2012 15:00

perlinNoise можно сразу как alpha создавать.

Universe 19.06.2012 16:29

а как применить его к альфа каналу? Тоже через copyChannel?

etc 19.06.2012 16:34

Предлагаю всё же раскурить все аргументы perlinNoise/copyChannel.

Universe 19.06.2012 16:40

это вы про channelOptions в perlinNoise?

Поправил, вроде сработало. Но эффект не тот. Шум начал распределяться как то по другому.


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

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