Всем привет. Коллеги, никто не сталкивался с необходимостью генерить perlinNoise из двух цветов? Ему можно задать grayScale = false и задавать каналы. Но это не работает. А нужен тот же эффект как при grayScale = true, только чтобы переливались не оттенки от черного к белому, а, скажем от зеленого к красному. Буду благодарен за совет.
ColorTransform какой-то стремный в обращении) Требует этих своих значений от
> -255 до 255.
Да чутка стремный но значения можно подобрать. В конкретно этом преобразовании (от зеленого к красному) будет вот такой new ColorTransform(1,-1,-1,1,0,255,-255,0);
а есть еще такой фильтр ColorMatrixFilter он вообще цвета меняет как угодно его пробуй применять например есть у quasimondo класс основанный на нем com.quasimondo.geom.ColorMatrix <http://www.quasimondo.com/colormatrix/ColorMatrix.as> в нем есть метод которым можно задать цвет colorize тобиш результатом будет светлые тона останутся светлыми все темные останутся темными средние - примут необходимый оттенок
можешь посмотреть как работает и сделать свое что-то которое будет задавать два цвета для темного и светлого хотя думаю возможно этт тоже уже кто-то реализовал надо только найти
и вообще ColorMatrixFilter это аналог фотошоповского(и не только) Levels но без гаммы тоесть кривую зависимость (входные цвета -> выходные цвета) сделать не получится будет только линейная
Спасибо, Таня. Но я лишь для примера указал простые цвета.
Если отдать функции нойза что-то сложнее в духе 0x9FFB15 | 0xFD9F13 -- он не поймет что нужен <<градиентный>> нойз между двумя этими цветами. Будет много лишних цветов.
> Если отдать функции нойза что-то
> сложнее в духе 0x9FFB15 | 0xFD9F13
> — он не поймет что нужен
> «градиентный» нойз между двумя этими
> цветами.
> Будет много лишних цветов.
Можно задавать только значения
КАНАЛОВ. каналов всего 4: alpha, red, green, blue.
градиентный перлиннойз с выборочными
цветами не предусмотрен. делайте чб и
колорматриксфилтер.
Плюсы такого подхода: 1. Подходит не только для 2 цветов, можно составить любую палитру, хоть радугу, хоть что угодно. В том числе можно составить массив ручками (все 256 цветов). 2. Скорость должна быть достаточно хорошей (возможно даже лучше, чем при использовании фильтра).
Вариант 2 - через ColorMatrixFilter
// сами объекты var bmp:BitmapData = new BitmapData(600,600,false,0); addChild(new Bitmap(bmp));
// задаём два цвета в виде RGB-триплетов // первый соответствует чёрному // второй белому var color1:Array = [0xFF, 00, 00]; var color2:Array = [0x00, 00, 0xFF];