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

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

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

Регистрация: May 2008
Сообщений: 61
По умолчанию Размытие изображений и градиентные маски

Добрый день, уважаемые!

Есть вопрос касаемо градиентых масок: пытаюсь программно реализовать размытие участков изображения так, чтобы не было видно границ этих участков. То есть размытая область должна плавно переходить в неразмытую... Маски областей пытался задавать шейпами с эффектом glow - маска не срабатывает... Пробовал в качестве маски битмап, но тогда размывается все область под ним, а не необходимая область....

Намекните, плиз, как решить такую тривиальную задачку...

Старый 15.08.2008, 10:49
enepx вне форума Посмотреть профиль Отправить личное сообщение для enepx Посетить домашнюю страницу enepx Найти все сообщения от enepx
  № 2  
Ответить с цитированием
enepx
 
Аватар для enepx

Регистрация: Aug 2006
Адрес: Мюнхен
Сообщений: 509
Отправить сообщение для enepx с помощью ICQ Отправить сообщение для enepx с помощью Yahoo Отправить сообщение для enepx с помощью Skype™
Маски с альфой во Flash не поддерживаются насколько я знаю. Для эффекта растворения помещаю сверху градиент, у которого одна сторона прозрачная. Это дает эффект растворения. Не везде, правда, может быть выходом, например, растворение "в картинку".
Понять не могу, почему в Адобе не сделают маски как в фотошопе? Может проблема в векторности масок?..
Или в 10-й версии сделали так? Я ее еще не использовал, потому не знаю.


Последний раз редактировалось enepx; 15.08.2008 в 10:52.
Старый 15.08.2008, 11:44
AL.exe вне форума Посмотреть профиль Отправить личное сообщение для AL.exe Посетить домашнюю страницу AL.exe Найти все сообщения от AL.exe
  № 3  
Ответить с цитированием
AL.exe
 
Аватар для AL.exe

Регистрация: Jan 2004
Адрес: Net
Сообщений: 1,049
Отправить сообщение для AL.exe с помощью ICQ
Маски с альфой во флеше поддерживаются с CS3, просто нужно делать их программными и задавать маске и маскируемому клипу cacheAsBitmap=true
__________________
Дело не в тебе

Старый 15.08.2008, 11:53
enepx вне форума Посмотреть профиль Отправить личное сообщение для enepx Посетить домашнюю страницу enepx Найти все сообщения от enepx
  № 4  
Ответить с цитированием
enepx
 
Аватар для enepx

Регистрация: Aug 2006
Адрес: Мюнхен
Сообщений: 509
Отправить сообщение для enepx с помощью ICQ Отправить сообщение для enepx с помощью Yahoo Отправить сообщение для enepx с помощью Skype™
Цитата:
Сообщение от AL.exe Посмотреть сообщение
нужно делать их программными
Под этими словами подразумевается установление маски с помощью AS, т.е. mask=...? Или также создать маску программно, т.е. нарисовать с помощью AS?

Старый 15.08.2008, 11:59
Alex Lexcuk вне форума Посмотреть профиль Отправить личное сообщение для Alex Lexcuk Посетить домашнюю страницу Alex Lexcuk Найти все сообщения от Alex Lexcuk
  № 5  
Ответить с цитированием
Alex Lexcuk

блогер
Регистрация: Mar 2008
Адрес: Донецк_city
Сообщений: 1,094
Записей в блоге: 5
Не знаю какой системой пользуйтесь вы
Однако если в Adobe Flash CS3 нажать F1
ввести туда alpha mask [search]
выдаст кучу всего одо из из них
Код:
// Create a Sprite.
var oval:Sprite = new Sprite();
// Draw a gradient oval.
var colors:Array = [0x000000, 0x000000];
var alphas:Array = [1, 0];
var ratios:Array = [0, 255];
var matrix:Matrix = new Matrix();
matrix.createGradientBox(200, 100, 0, -100, -50);
oval.graphics.beginGradientFill(GradientType.RADIAL,
                                colors,
                                alphas,
                                ratios,
                                matrix);
oval.graphics.drawEllipse(-100, -50, 200, 100);
oval.graphics.endFill();
// add the Sprite to the display list
this.addChild(oval);

// Set cacheAsBitmap = true for both display objects.
loader.cacheAsBitmap = true;
oval.cacheAsBitmap = true;
// Set the oval as the mask for the loader (and its child, the loaded image)
loader.mask = oval;

// Make the oval draggable.
oval.startDrag(true);
Будет так после ctrl+enter
http://dnadillo.dn.ua/fla/mask-file.swf
http://dnadillo.dn.ua/fla/mask-file.zip
PS. надо водить мышкой

Старый 15.08.2008, 12:03
enepx вне форума Посмотреть профиль Отправить личное сообщение для enepx Посетить домашнюю страницу enepx Найти все сообщения от enepx
  № 6  
Ответить с цитированием
enepx
 
Аватар для enepx

Регистрация: Aug 2006
Адрес: Мюнхен
Сообщений: 509
Отправить сообщение для enepx с помощью ICQ Отправить сообщение для enepx с помощью Yahoo Отправить сообщение для enepx с помощью Skype™
Ну это есть программно создать маску.
Спасибо, не знал про то, что альфа поддерживается, буду применять.

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

Регистрация: May 2008
Сообщений: 61
Спасибо за подсказку! Как-то не догадался для Bitmap устанавливать cacheAsBitmap

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

Старый 16.08.2008, 00:35
Alex Lexcuk вне форума Посмотреть профиль Отправить личное сообщение для Alex Lexcuk Посетить домашнюю страницу Alex Lexcuk Найти все сообщения от Alex Lexcuk
  № 8  
Ответить с цитированием
Alex Lexcuk

блогер
Регистрация: Mar 2008
Адрес: Донецк_city
Сообщений: 1,094
Записей в блоге: 5
>>C нарисованными вручную шейпами в качестве маски все равно не получились градиентные поля.
>>Придется рисовать программно как в примере...
Да это просто Adobe help для удобства изложения материалла
А так рисуем квадратик делаем градиентную заливку нажимаем на нее и там есть в параметрах color и там есть alpha на первой точке можно поставить alpha = 0
на второй alpha = 100;
И преобразовать в MovieClip
http://dnadillo.dn.ua/fla/gradient-mask.swf

Старый 16.08.2008, 01:54
Antisly вне форума Посмотреть профиль Отправить личное сообщение для Antisly Найти все сообщения от Antisly
  № 9  
Ответить с цитированием
Antisly
 
Аватар для Antisly

Регистрация: May 2008
Сообщений: 61
Цитата:
Сообщение от Alex Lexcuk Посмотреть сообщение
...
Да это просто Adobe help для удобства изложения материалла
А так рисуем квадратик делаем градиентную заливку нажимаем на нее и там есть в параметрах color и там есть alpha на первой точке можно поставить alpha = 0
на второй alpha = 100;
И преобразовать в MovieClip
http://dnadillo.dn.ua/fla/gradient-mask.swf
Да, все получилось! Спасибо!

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

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

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


 


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


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