![]() |
DisplacementMapFilter
Так как я ничего не понял из примеров по DisplacementMapFilter, решил попробовать создать свой эффект. Но как я и ожидал - не работает. Помогите пожалуста. И если кто может объясните как работают эти фильтры...:wacko:
А вот и тот бред что я написал: Код AS3:
|
field.autoSize="left";
Используй константы TextAutoSize например, так правильнее. Когда я попытался юзать draw и туда засовывать TextField,то у меня ужасно выглядела надпись.Даже нашел багу на адобе, где расписано, как правильно отрисовать текстфилд, но без результатно, в зависимости от контекста, он был читаем или нет. |
При создании нового фильтра, ты в качестве канала для x и y координаты указал 1,1 что соответствует красному каналу или BitmapDataChannel.RED. Новый bitmapData у тебя создается без указания цвета фона, а значит он берется по умолчанию 0xffffffff.
Шрифт белого цвета по каналу ред также имеет значение 255 как и фон. Соответственно для фильтра в ред канале не происходит никаких изменений. |
Цитата:
Добавлено через 5 минут Цитата:
|
|
Могу объяснить. Предположим мы будем работать в RED канале. Значение 128 или 0x80 не дает сдвига поэтому будем использовать цвет 0x80808080 в качестве фона для битмап даты. Предположим на карте дисплейсмента мы нарисовали белую точку (значение 255 в ред канале) это означает, что в эту точку (где точка была нарисована) мы вернем точку на 128 пикселей правее и наоборот если точка черная мы мы возьмем точку на 128 пикселей левее. Если же мы используем битмап дату для фильтра белого цвета - вся картинка будет сдвинута на 128 пикселей в лево (точки берутся справа и рисуются на 128 левее) (128 пикселей это для большей наглядности - настраивается через параметр scaleX/scaleY)
Например, чтобы добиться эффекта лупы. В центре должен быть нейтральный цвет 0x80 и меняться к краям лупы (к левому краю соответственно становиться более светлым (пиксели будут браться ближе к центру), а к правому более темным) |
Цитата:
|
Любой цвет формируется по четырем каналам RED GREEN BLUE и ALPHA (смотри класс BitmapDataChannel) Белый цвет 0xffffff 255 по первым трем каналам, черный 0. Открой в Паинте ColorPicker (выбор цвета по палитре) и ты там заметишь, что любой цвет отражается тремя числами. Использовать в фильтре дисплейса можно как один и тот же канал, так и два разных канала (например чтобы по оси х картинку растягивать, а по у сжимать) А как уж ты нарисовал картинку для искажения - это уже другой вопрос. ALPHA 0 - непрозрачный, 255 - абсолютно прозрачный.
|
Цитата:
|
Цитата:
Код AS3:
|
| Часовой пояс GMT +4, время: 19:39. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.