|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: May 2008
Сообщений: 61
|
Размытие изображений и градиентные маски
Добрый день, уважаемые!
Есть вопрос касаемо градиентых масок: пытаюсь программно реализовать размытие участков изображения так, чтобы не было видно границ этих участков. То есть размытая область должна плавно переходить в неразмытую... Маски областей пытался задавать шейпами с эффектом glow - маска не срабатывает... Пробовал в качестве маски битмап, но тогда размывается все область под ним, а не необходимая область.... Намекните, плиз, как решить такую тривиальную задачку... |
|
|||||
Маски с альфой во Flash не поддерживаются насколько я знаю. Для эффекта растворения помещаю сверху градиент, у которого одна сторона прозрачная. Это дает эффект растворения. Не везде, правда, может быть выходом, например, растворение "в картинку".
Понять не могу, почему в Адобе не сделают маски как в фотошопе? Может проблема в векторности масок?.. Или в 10-й версии сделали так? Я ее еще не использовал, потому не знаю. Последний раз редактировалось enepx; 15.08.2008 в 10:52. |
|
|||||
Маски с альфой во флеше поддерживаются с CS3, просто нужно делать их программными и задавать маске и маскируемому клипу cacheAsBitmap=true
__________________
Дело не в тебе |
|
|||||
Под этими словами подразумевается установление маски с помощью AS, т.е. mask=...? Или также создать маску программно, т.е. нарисовать с помощью AS?
|
|
|||||
Не знаю какой системой пользуйтесь вы
Однако если в 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); http://dnadillo.dn.ua/fla/mask-file.swf http://dnadillo.dn.ua/fla/mask-file.zip PS. надо водить мышкой |
|
|||||
Ну это есть программно создать маску.
Спасибо, не знал про то, что альфа поддерживается, буду применять. |
|
|||||
Регистрация: May 2008
Сообщений: 61
|
Спасибо за подсказку! Как-то не догадался для Bitmap устанавливать cacheAsBitmap
C нарисованными вручную шейпами в качестве маски все равно не получились градиентные поля. Придется рисовать программно как в примере... |
|
|||||
>>C нарисованными вручную шейпами в качестве маски все равно не получились градиентные поля.
>>Придется рисовать программно как в примере... Да это просто Adobe help для удобства изложения материалла А так рисуем квадратик делаем градиентную заливку нажимаем на нее и там есть в параметрах color и там есть alpha на первой точке можно поставить alpha = 0 на второй alpha = 100; И преобразовать в MovieClip http://dnadillo.dn.ua/fla/gradient-mask.swf |
|
|||||
Регистрация: May 2008
Сообщений: 61
|
Цитата:
|
Часовой пояс GMT +4, время: 02:09. |
|
« Предыдущая тема | Следующая тема » |
|
|