Палитра

From
Oleg Glushchenko (2:461/85.33)
To
All ()
Date
1996-05-01T11:39Z
Area
SU.WINDOWS.PROG
Hello All!

Спрашиваю уже второй раз, сорри за навязчивость :(

    Возникла проблема: необходимо манипулировать палитрой 16-цветного Bitmap
так, чтобы произвольно задавать значения RGB для этих 16 цветов. Причем это
должно быть изменение аппаратной палитры, а не логической палитры Windows, при
которой она просто смешивает в некоторой пропорции пиксели базовых 16 цветов
(во всяком случае на моей машине при 800x600x256 Windows поступала именно так).
    Видимо, с аппаратной палитрой можно работать через API. Кто-нибудь делал
это?

    Пока что я в 16-цветном режиме просто задаю для соответствующих DAC нужные
мне значения через порты, исходя из следующего:

Default Color           DAC

Black                   0
Blue                    49
Green                   10
Red                     12
Cyan                    35
Magenta                 21
Brown                   14
Light Gray              15
Dark Gray               7
Light Blue              9
Light Green             18
Light Cyan              27
Light Red               36
Light Magenta           45
Yellow                  54
White                   63

    Кстати, кто-либо еще выявлял подобную зависимость? Я это делал
экспериментально :)

    В общем, под Win3.1 запись в порты и работа с палитрой через INT 10H
прокатили, а пройдут ли такие номера на Win'95 и NT?
    Кроме того, такой способ не универсален для других видеорежимов, т. к.
меняется соответствие номеров цветов и DAC'ов.

Как определить текущий видеорежим?
Как определить соответствие номеров цветов и DAC'ов в различных видеорежимах?

                           With varied regards, Alik

--- GoldED 2.50.Beta5+
 * Origin: -=■ Sanesoft Labs ■=- (2:461/85.33)