![]() |
Намеренное искажение растровой картинки
Здравствуйте!
Есть у меня вопрос, не дающий мне никак покоя. Как во флэше искажать вставленное растровое изображение (JPG, PNG, GIF), например растянуть трапециевидно? Возможно ли это сделать посредством Macromedia Flash MX 2004 v.7.0, Macromedia Flash 8, Adobe Flash CS3 Pro? Заранее благодарю. |
DisplacementMapFilter
|
трапецевидно - только "как бы". http://silin.fatal.ru там смотрим
|
Зачем во флеше редактировать вставленую картинку? Ну я понимаю, динамический эфект с фильтрами, но просто корежить то за чем.
|
Цитата:
Цитата:
|
IDE не позволяет делать такие трансформации.
|
Посмотрите, пожалуйста, вот это: http://silin.fatal.ru/#2,9.
Возможно ли реализовать подобное в седьмой версии Флэша? |
Можно без DisplacementMapFilter. Суть простая: делаешь много мувиклипов, ставишь один под другим, в каждый из них пихаешь изображение, каждый раз уменьшаешь _ height или _yscale на какое-то число относительно предыдущего мувика, и просто склеиваешь их все вместе так, что получилась перспектива. Для достижение большей реальности - большее число уменьшаюшихся мувиков.
|
А как же ось Х? Боковые стороны картинки должны сходиться в точку на горизонте.
|
Цитата:
|
Цитата:
|
Цитата:
|
Kikasso, ты имеешь ввиду "Мувик на части"???
|
Он удалил. Забей, с битмапой лучше в разы. Если очень надо, напиши ему в личку.
По типу да, "мувик на части": игла в яйце, яйцо в утке, сверху все закрыто треугольными масками, поворачиваем, плющим и двигаем все части разом. |
Раз на седьмой версии это нереализуемо, то придется подождать день-два и поставить восьмую или девятую.
|
Вложений: 1
1. для 7й версии тоже есть метода, точнее даже для 5й. делал некогда отец флеш-3Д, горячий прибалтийский парень. адрес не нашёл, потому аттачу локальную копию из своих архивов. разумеется, чтобы переделать silinовский класс искажения на этом, придётся попотеть.
2. DisplacementMapFilter єто такой фильтер, который представляет почти неограниченные возможности искажения битмапа (есть мелкие обломы с размером битмапа и с разрядностью смещений, практически не имеющие значения). Подробнее - в хэлпе. |
та же схема(почти) для мувиков (без битмапДата) http://silin.fatal.ru/zabor/AS2/index.html (DistortQwad.as)
в новую версию не перетащил, потому как не актуально |
Насколько я понимаю, упрощая задачу до обычного векторного прямоугольника, мы никоим образом программно, не можем ЭТОТ ЖЕ прямоугольник сделать трапецией.
Никакие битмапы и диспласменты с трансформами напрямую также трапецию не сделают. ОСтается только делать многоходовки по типу треугольников. |
Цитата:
Код:
mc.filters = [new DisplacementMapFilter(...)]; |
Какое отношение эта строчка имеет к тому, как сделать ТРАПЕЦИЮ? Это лишь пример как к мувику добавлять фильтры (в данном случае дисплайсмент)
|
это имеет отношение к слову "напрямую" из твоего поста.
ты, наверно, хочешь чтобы я тебе сейчас быстренько карту смещений подогнал, но - извини - не то настроение :( |
Нет, это не имеет отношения ни к "трапеции", ни "напрямую" сделать.
Напрямую трапецию никакие методы не сделают. Ну нет такой трансформации во флеше (программной). :) Все остальное - опосредовано (не напрямую) через многоходовки: и тут уже не важно каким инструментом делать: треугольными масками или дисплайсментом или еще как. |
ну, раз нет, значит нет.
|
дисплайсментом не многоходовка
|
Можно пример, где обычный квадрат преобразуется в трапецию, без многоходовки?
На самом деле очень интересно. |
Вы про DisplacementMapFilter прочитали? Пример в хелпе с искажениями смотрели?
Задача сводится к построению правильного градиента для фильтра. У меня есть пример такого градиента, но он дома. Искать заново я его сейчас не буду. Поэтому либо сами в гугле ищите по словосочетанию "DisplacementMapFilter 3D", либо вам кто-то другой даст свой пример, либо ждите 1,5 недели, пока я из отпуска не вернусь и не найду этот пример. |
Цитата:
Или я не понял вопрос? |
Вложений: 1
Вот моя жалкая попытка изобразить 3D-текстуру:rolleyes: (см.вложение)
но опять-таки - это под 8-ку |
Очень даже неплохо получилось. Ограничить искажение и все будет ок. Респект.
|
Цитата:
Но процесс мне кажется малоуправляемым. Именно из-за "построения правильного градиента". Цитата:
Только не забудьте. |
|
Цитата:
вот вам готовый шаблон - запрягаете свою формулу, и давите принтскрин. |
Это похоже как раз мой случай :) :
The way this filter works is explained in documentation very clear, but people still say they do not understand it. Буду разбираться с примером iNils - упростил его уже дальше нельзя: 4 строчки кода, один градиент... а все равно still do not understand it :) Код:
import flash.filters.*; |
потому что всё, что вам следовало бы понять, лежит за пределами этих 4х строчек :(
|
А что тут понимать? В мануале этого нет. Далеко не сразу понятно, что же такое "смещение по цветам". Думаю кому-нибудь будет интересно:
Берется один из каналов RGBA и смотрится его насыщенность, которая может быть от 0 до 255. (удобно в шопе по каналам смотреть). Если насыщенность от 0 до 127, то пиксел смещается на уменьшение, если от 128 до 255, то на увеличение. Но вот пример от от iNils. Там заранее нарисованный градиент: влево вниз - к черному (к 0), вправо вниз - к белому (к 255). Вот пример со ссылки от aQuestion, там где Земля вращается. Там опять-таки заранее нарисованный градиент (круговой). И если градиент для шарообразной Земли еще можно нарисовать программно, то градиент от iNils программно нарисовать малореально (все же можно, но не за один ход). Т.е. тут опять многоходовка, просто в примере от iNils (кстати огромное спасибо, очень помог разобраться) многоходовка не интерактивная (заранее в шопе был создан градиент под данную задачу). |
Цитата:
Черным по белому: Цитата:
Цитата:
Короче говоря, учитесь использовать мозг по назначению. |
Цитата:
Цитата:
Цитата:
|
А я вот щас обоим по плюсу влеплю, если будете продолжать в таком тоне.
|
Цитата:
єтц, мне уже ваши плюсы цеплять некуда, вся грудь в орденах. |
Цитата:
Так что лучше не устраивать эксцессов. |
| Часовой пояс GMT +4, время: 14:58. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.