Как заменить цвета в мувиклипе?

Я пытаюсь взять мувиклип персонажа и изменить цвет его одежды. Символ состоит из векторов.

До сих пор я полууспешно использовал этот метод:

  1. остановить видеоклип
  2. взять растровые данные из текущего кадра
  3. использовать порог для замены цвета
  4. сохранить полученные данные растрового изображения в массиве
  5. добавить функцию onenterframe - очистить текущий кадр и добавить растровые данные из обработанных данных в массив

Итак - это работает очень хорошо. Каждый кадр обрабатывается только один раз в начале, а затем запись в мувиклип происходит очень быстро.

Тем не мение! Поскольку замена выполняется на растровом изображении, происходит некоторое сглаживание для удаления неровностей/пикселизации. Это создает цвета, которые не сопоставляются с использованием порога. Итак, основной цвет заменен правильно, но окружен ореолом смешанных цветов :(

Я уверен, что должен быть лучший способ сделать это. Любые идеи или ответы будут очень признательны - спасибо.


person Oli    schedule 08.02.2010    source источник


Ответы (1)


Будет ли игра с Грантом Скиннером, более простым в использовании классом ColorMatrix) получить работа сделана?

person George Profenza    schedule 08.02.2010
comment
Спасибо, Джордж - к сожалению, фактическое преобразование цвета само по себе не является проблемой, а может либо выбрать отдельные векторы по цвету, либо, если вы имеете дело с отрендеренными растровыми данными, установить допуск, чтобы окружающие пиксели с псевдонимом были выбраны и преобразованы соответственно тоже. Спасибо за ваше время, хотя. - person Oli; 10.02.2010
comment
Есть способ сделать это с помощью векторов, но это немного сложнее. Он включает в себя декомпиляцию swf, содержащего фигуры, во время выполнения (используя as3swf), перебор форм и замену цветов. Вот ответ, который охватывает только декомпиляцию и подсчет цветов: stackoverflow.com/questions/2031343/ - person George Profenza; 10.02.2010