|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Авг 18, 2003 09:08:26 Не могу по нормальному перевести 16-ти битную точку в 24-х. Наоборот сделал, вроде не плохо получается. Без этого не могу сделать нормальный конструктор растровых игр. |
|
|
Дата: Авг 18, 2003 14:20:42 · Поправил: Безпощадный даос
// 24-bit bmp pixel
typedef struct sPIXEL24 {
tBYTE Red;
tBYTE Green;
tBYTE Blue;
} tPIXEL24, *pPIXEL24;
// 16-bit bmp pixel
typedef struct sPIXEL16 {
tWORD Red : 5;
tWORD Green : 6;
tWORD Blue : 5;
} tPIXEL16, *pPIXEL16;
Pixel24->Red = Pixel16->Red << 3;
Pixel24->Green = Pixel16->Green << 2;
Pixel24->Blue = Pixel16->Blue << 3;Помойму так :) |
|
|
Дата: Авг 20, 2003 05:22:05 Уважаемый Dr.Golova, предложенный вариант не работает, так я делал ещё пол года назад, ерунда получается полнейшая. Вот исследования результатов работы ACDsee для жёлтой точки: Исходный вариант: 00 FF FF = 00000000 11111111 11111111 После перевода в 16-ти битный вариант: E0 03 = 11100000 00000011 А теперь переведём обратно в 24-х: 00 F8 F8 = 00000000 11111000 11111000 Ну не вижу я здесь ни какой логики. |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.079 |