-=Женек=- 0 22 января, 2011 Опубликовано 22 января, 2011 · Жалоба Господа есть библиотека, в которой цвет закодирован следующим образом: #define COLOR(R,G,B) ((1l<<15)|((uword)B<<10)|((uword)G<<5)|R) Вот у меня есть цвет в таком формате 0,0,13 (то есть синего там 13) А в фотошопе мне нужно нарисовать такой же цвет, но в виде 0x0000xx, где xx - синий цвет, то есть 24 битный формат. Как перевести? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Methane 0 22 января, 2011 Опубликовано 22 января, 2011 · Жалоба Господа есть библиотека, в которой цвет закодирован следующим образом: #define COLOR(R,G,B) ((1l<<15)|((uword)B<<10)|((uword)G<<5)|R) Вот у меня есть цвет в таком формате 0,0,13 (то есть синего там 13) А в фотошопе мне нужно нарисовать такой же цвет, но в виде 0x0000xx, где xx - синий цвет, то есть 24 битный формат. Как перевести? Просто в старшие биты поместите. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ae_ 2 22 января, 2011 Опубликовано 22 января, 2011 · Жалоба ... #define COLOR(R,G,B) ((1l<<15)|((uword)B<<10)|((uword)G<<5)|R) Вот у меня есть цвет в таком формате 0,0,13 (то есть синего там 13) А в фотошопе мне нужно нарисовать такой же цвет, но в виде 0x0000xx, где xx - синий цвет, то есть 24 битный формат. Если я правильно понял, исходный цвет задаётся тремя числами R=0...31, G=0...31, B=0...31. Тогда для получения 0xRRGGBB можно сделать так ((uword)R<<19) | ((uword)G<<11) | ((uword)B<<3) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
777777 0 24 января, 2011 Опубликовано 24 января, 2011 · Жалоба А что такое 1l<<15 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
M_Andrey 0 24 января, 2011 Опубликовано 24 января, 2011 · Жалоба А что такое 1l<<15 это 1 приведенная к типу long и сдвинутая 15 раз влево. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
demiurg_spb 0 24 января, 2011 Опубликовано 24 января, 2011 · Жалоба это 1 приведенная к типу long и сдвинутая 15 раз влево.Юзайте заглавные буковки для указания типа констант: 3L 5U 7UL - оно наглядней будет:-) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
777777 0 25 января, 2011 Опубликовано 25 января, 2011 · Жалоба это 1 приведенная к типу long и сдвинутая 15 раз влево. В таком случае нужно писать 1L<<15 чтобы не спутать L с вертикальной чертой Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
M_Andrey 0 25 января, 2011 Опубликовано 25 января, 2011 · Жалоба В таком случае нужно писать 1L<<15 чтобы не спутать L с вертикальной чертой Я не понял, это вы мне говорите, кто-то вообще не понял что это обозначает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
777777 0 25 января, 2011 Опубликовано 25 января, 2011 · Жалоба Я не понял, это вы мне говорите, кто-то вообще не понял что это обозначает. Да, я вообще не понял что это обозначает, потому что решил, что это вертикальная черта, а не маленькая L. Поэтому и предлагаю пользоваться большой L. Кстати, demiurg_spb написал вам о том же. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
M_Andrey 0 25 января, 2011 Опубликовано 25 января, 2011 · Жалоба Да, я вообще не понял что это обозначает, потому что решил, что это вертикальная черта, а не маленькая L. Поэтому и предлагаю пользоваться большой L. Кстати, demiurg_spb написал вам о том же. Меня как-раз напрягает то что вы мне это говорите, говорите топикстартеру, я это и без вас знал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться