Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 22.01.2009, 17:55
orcpochta вне форума Посмотреть профиль Отправить личное сообщение для orcpochta Найти все сообщения от orcpochta
  № 1  
Ответить с цитированием
orcpochta

Регистрация: Feb 2008
Сообщений: 890
По умолчанию Как сделать маску по контурам произвольной png-ки?

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

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

Старый 22.01.2009, 18:11
faust.d503 вне форума Посмотреть профиль Отправить личное сообщение для faust.d503 Найти все сообщения от faust.d503
  № 2  
Ответить с цитированием
faust.d503
 
Аватар для faust.d503

Регистрация: Nov 2008
Адрес: Москва
Сообщений: 52
А зачем использовать как маску png? Можно динамически грузить swf.

Старый 22.01.2009, 18:19
orcpochta вне форума Посмотреть профиль Отправить личное сообщение для orcpochta Найти все сообщения от orcpochta
  № 3  
Ответить с цитированием
orcpochta

Регистрация: Feb 2008
Сообщений: 890
Цитата:
Сообщение от faust.d503 Посмотреть сообщение
А зачем использовать как маску png? Можно динамически грузить swf.
можно и руками рисовать маску поверх пнг-ки, но задача стоит вполне конкретная:
Цитата:
Есть png-ка, которую мы загружаем динамически, поэтому ничего о ней не знаем. Как из нее сделать маску?
__________________
скриптограф

Старый 22.01.2009, 18:27
relevance4 вне форума Посмотреть профиль Отправить личное сообщение для relevance4 Посетить домашнюю страницу relevance4 Найти все сообщения от relevance4
  № 4  
Ответить с цитированием
relevance4

Регистрация: Nov 2006
Адрес: там
Сообщений: 468
Отправить сообщение для relevance4 с помощью ICQ
пройтись по всем пикселям, наткнувшись на не прозрачный пиксель записывать его координаты. потом нарисовать по контуру в векторе и применить как маску.

Старый 22.01.2009, 18:52
orcpochta вне форума Посмотреть профиль Отправить личное сообщение для orcpochta Найти все сообщения от orcpochta
  № 5  
Ответить с цитированием
orcpochta

Регистрация: Feb 2008
Сообщений: 890
Цитата:
Сообщение от relevance4 Посмотреть сообщение
пройтись по всем пикселям, наткнувшись на не прозрачный пиксель записывать его координаты. потом нарисовать по контуру в векторе и применить как маску.
может есть какие-то более стандартные методы?
как-то не хочется писать экономичный алгоритм обхода точек, хотя не спорю, что он может быть довольно-таки простым
__________________
скриптограф

Старый 22.01.2009, 20:24
chingachgoog вне форума Посмотреть профиль Найти все сообщения от chingachgoog
  № 6  
Ответить с цитированием
chingachgoog
Banned
[+4 01.02.09]
[+1 01.02.09]
 
Аватар для chingachgoog

блогер
Регистрация: Nov 2006
Адрес: Moscow
Сообщений: 2,145
Записей в блоге: 7
Тут кто-то недавно писал про глюк флеша, когда png задается маской - поищите.

Старый 22.01.2009, 20:49
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 7  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Можно маску и не делать, воспользоваться просто blendMode.
Вложения
Тип файла: rar PNG-mask.rar (65.7 Кб, 100 просмотров)
__________________
Reality.getBounds(this);

Старый 23.01.2009, 16:35
orcpochta вне форума Посмотреть профиль Отправить личное сообщение для orcpochta Найти все сообщения от orcpochta
  № 8  
Ответить с цитированием
orcpochta

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

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

Создать новую тему Ответ Часовой пояс GMT +4, время: 11:38.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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