· Начало · Статистика · WASM.RU · Noir.Ru ·

 WASM Phorum (Оффлайн - 24.11.2003) —› WASM.A&O —› Перевод графики

Посл.отвђт Сообщен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