![]() |
|
||||||||||
|
|
|
|||||
|
Привет! Всех с прошедшими! Знатоки теории цвета - подскажите: необходимо сделать карту высот - она, как известно, представляется в виде черно-белой картинки (т.е. RGB составляющие одинаковые). Я хочу узнать цвет любой составляющей (ведь одинаковые они) в интервале от 0 до 255. BitmapData.getPixel дает значение либо строковое, если приводить значение к toString, например 101010. Либо к большому числу, например 0х101010 дает 65 с чем-то тысяч. Еще раз вопрос - как, допустим, получить цвет R-составляющей в диапазоне 0-255?
|
|
|||||
|
Banned
|
Number("0x"+myBitmapData.getPixel(x, y).toString(16).slice(0,2))
Это если в лоб add: для ARGB соответственно, меняем параметры slice на (2,4) например ![]() Последний раз редактировалось chingachgoog; 12.05.2008 в 11:57. |
|
|||||
|
Banned
|
Цитата:
![]() |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
|
Цитата:
Это цельная картина: argb = 0x04030201; trace (argb >> 24 & 0xFF); // альфа trace (argb >> 16 & 0xFF); // красный trace (argb >> 8 & 0xFF); // зеленый trace (argb >> 0 & 0xFF); // синий Для синего цвета сдвига делать не надо, поэтому вместо argb >> 0 & 0xFF можно просто написать argb & 0xFF. Еще одно полезное свойство побитового сдвига. Операции абсолютно аналогичны этим Только вот сдвиг работает в 1,5 раза быстрее. |
![]() |
![]() |
Часовой пояс GMT +4, время: 17:30. |
|
|
« Предыдущая тема | Следующая тема » |
|
|