2012-03-17 2 views
0

Я хотел бы узнать, как через ActionScript 3 получить массив ARGB (шестнадцатеричных) цветов, близкий к заданному цвету.Поиск близких цветов заданного цвета

Пример:

0xFF00FF00

зеленый.

Как получить оттенки зеленого?

Я пытаюсь получить некоторые зеленые цвета bitmapdata. Я попытался получить его, сделав петлю получения цветов с помощью getPixels32. Проблема в том, что я думаю, что цвета бит каждой позиции отличаются от битов рендеринга битмапа.

Это для следопыта. Каждый зеленый бит устанавливает узел в карте, как доступный для ходьбы. Так что мне нужно знать, что это за цвета, чтобы установить его как walkable для pathfinder.

Любые предложения?

+0

Пожалуйста, оставьте свой вопрос! У вас есть цвет некоторых пикселей, близких к красным, зеленым или синим, и вам нужно знать, что это за цвет? ИМО: лучше использовать 2d-массив для ваших целей, а не растровый – Eugeny89

ответ

3

RGB пространство ужасно для интерпретации того, похожи ли цвета друг на друга. Другое цветовое пространство, которое ближе подходит к восприятию цвета человека, - HSV (насыщенность и значение оттенка). Вот шаги, которые вы должны следовать:

  1. Преобразование значения из RGB пространства HSV (http://www.cs.rit.edu/~ncs/color/t_convert.html)
  2. Изменить насыщенность и значение для получения разных оттенков одного и того же зеленого оттенка.
  3. Вы можете даже изменить оттенок немного с определенным уровнем допуска вы указываете
  4. переконвертировать обратно к HSV в RGB

Я считаю technically..one цветовое пространство меньше, чем другие, и это означает не всегда конверсия 1: 1, но она должна служить вашей цели.

Смежные вопросы