Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Создать маску с альфа каналом из полученного Bitmap (http://www.flasher.ru/forum/showthread.php?t=199551)

AlexCooper 20.05.2013 17:43

Создать маску с альфа каналом из полученного Bitmap
 
Вложений: 1
Здравствуйте коллеги. Натолкните на статью или поделитесь реализацией создании маски из битмапы с альфа каналом. Прилаживаю скрин где показана полученная битмапа, которую нужно переконвертировать в маску.
Код AS3:

userMask.bitmapData = user.userMaskData; // bitmap (alpha channel = true)
userMask.cacheAsBitmap = true;
clip.mask = userMask;

увы не работает.

AlexCooper 20.05.2013 18:10

или же посоветуйте как из видео-изображения убрать статический фон оставив только динамические объекты ( на подобие замены фона с пользовательской веб-камеры)

-De- 20.05.2013 18:27

Код AS3:

clip.cacheAsBitmap = true;

ещё

AlexCooper 20.05.2013 18:36

Цитата:

Сообщение от -De- (Сообщение 1134030)
Код AS3:

clip.cacheAsBitmap = true;

ещё

нет альфа канала, маска квадратная

-De- 20.05.2013 18:41

Так есть соответствующий альфа канал у битмапы или нет?

AlexCooper 20.05.2013 18:55

посмотрите на скрин, как вы считаете есть он там или нет? (изображение с пометкой "mask" динамическое) фон отдельный слой.

Добавлено через 3 минуты
привожу код
Код AS3:

rgb = new Bitmap();
addChild(rgb);
 
userMask = new Bitmap();
 
protected function usersMaskImageUpdateHandler(event:UserEvent):void
{
        for each(var user:User in event.users) {
                userMask.bitmapData = user.userMaskData;
 
                userMask.cacheAsBitmap = true;
                rgb.cacheAsBitmap = true;
 
                rgb.mask = userMask;
 
        }
}


-De- 20.05.2013 19:01

Значит должно работать. Чтоб была маска с альфа каналом надо ставить cacheAsBitmap и маске и маскируемому обьекту.

AlexCooper 20.05.2013 19:01

хм.. надо попробывать метод который недавно мне предлагал silin

Добавлено через 40 секунд
Цитата:

Сообщение от -De- (Сообщение 1134040)
Значит должно работать. Чтоб была маска с альфа каналом надо ставить cacheAsBitmap и маске и маскируемому обьекту.

Я первым делом попробывал это сделать, не получилось потому и обратился за помощью.

zuxul 20.05.2013 19:45

userMask должна лежать в дисплей-листе, можно положить сразу следом за битмапой

AlexCooper 20.05.2013 21:45

Спасибо получилось. Гляньте на края маски я могу их как-то сгладить?

Добавлено через 6 минут
попробую размытие.


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

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