Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Как сделать маску по контурам произвольной png-ки? (http://www.flasher.ru/forum/showthread.php?t=120511)

orcpochta 22.01.2009 17:55

Как сделать маску по контурам произвольной png-ки?
 
Есть png-ка, которую мы загружаем динамически, поэтому ничего о ней не знаем. Как из нее сделать маску?

Т.е., грубо говоря, есть png-ка с изображением овала, за границами овала прозрачные пиксели. Как сделать программно маску в форме этого овала?

faust.d503 22.01.2009 18:11

А зачем использовать как маску png? Можно динамически грузить swf.

orcpochta 22.01.2009 18:19

Цитата:

Сообщение от faust.d503 (Сообщение 792888)
А зачем использовать как маску png? Можно динамически грузить swf.

можно и руками рисовать маску поверх пнг-ки, но задача стоит вполне конкретная:
Цитата:

Есть png-ка, которую мы загружаем динамически, поэтому ничего о ней не знаем. Как из нее сделать маску?

relevance4 22.01.2009 18:27

пройтись по всем пикселям, наткнувшись на не прозрачный пиксель записывать его координаты. потом нарисовать по контуру в векторе и применить как маску.

orcpochta 22.01.2009 18:52

Цитата:

Сообщение от relevance4 (Сообщение 792894)
пройтись по всем пикселям, наткнувшись на не прозрачный пиксель записывать его координаты. потом нарисовать по контуру в векторе и применить как маску.

может есть какие-то более стандартные методы?
как-то не хочется писать экономичный алгоритм обхода точек, хотя не спорю, что он может быть довольно-таки простым

chingachgoog 22.01.2009 20:24

Тут кто-то недавно писал про глюк флеша, когда png задается маской - поищите.

Wolsh 22.01.2009 20:49

Вложений: 1
Можно маску и не делать, воспользоваться просто blendMode.

orcpochta 23.01.2009 16:35

Цитата:

Сообщение от Wolsh (Сообщение 792940)
Можно маску и не делать, воспользоваться просто blendMode.

Здорово! Но к сожалению мне, вроде, не подходит.
У меня есть зимняя картинка вид сверху: 2/3 части снег, 1/3 лед.
Есть объекты, которые можно подбирать на земле и кидать: камни и шишки.
Когда объект находится над льдом, он дает отражение, когда над снегом, отражения нет. Для реализации этого эффекта я использую маску по форме льда для мувиклипа с отражением, чтобы видимость отражения была только над льдом (как я понял из вашего примера, необходимого мне маскирования не происходит).
Таким образом вопрос про маску из пнг-ки остается открытым.

Есть еще сопутсвующие вопросы.
1. Я прорисовал руками векторную маску для льда, применил ее к объекту и обрел следующий глюк: при выходе за границы льда отражение как и положено при маскировании пропадает (выход за границы - это значит, что объект залип на мышку и я его двигаю куда угодно), но вот при заходе обратно на лед иногда отражение не появляется пока не отожмешь мышку, чтобы объект "упал", или же проявляется но обрезанное, иногда все нормально. Отражение представляет собой мувиклип с фильтром Blur и блендмодом "overlay".
2. Для каждого объекта надо иметь отдельную маску?


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

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