PDA

Просмотр полной версии : Преобразовать 3 значения R,G,B в одно RGB.


RonEXI
23.12.2008, 13:48
Есть 3 значения допустим: R=150, G=100, B=50.
В RBG это будет такое значение: 0x966432.
В десятеричной системе число будет такое: 9856050.

Вопрос: Как наиболее быстро можно перевести 3 числа R,G,B в в десятеричное число RGB?

Добавлено через 10 минут
Сам додумался:


var rgb=0xff0000*(R/255)+0x00ff00*(G/255)+0x0000ff*(B/255)

iNils
23.12.2008, 14:06
Не, наиболее быстро будет так
var rgb = (R << 16) + (G << 8) + B;

RonEXI
23.12.2008, 14:15
спасибо

Добавлено через 5 минут
Ещё 1 вопрос: как теперь это число разделить на 3 части R,G,B чтобы исходные значения получились?

iNils
23.12.2008, 14:24
R = rgb >> 16 & 0xFF;
G = rgb >> 8 & 0xFF;
B = rgb & 0xFF;