DirectDraw поддерживает 1-битные (2 элемента), 2-битные (4 элемента), 4-битные (16 элементов) и 8-битные (256 членов) палитры. Палитры может быть установлена для поверхности, у которой пиксельный формат (глубина цвета) соответствует типу палитры. Например, палитра с 2-мя элементами, созданная с флагом DDCAPS_1BIT может быть установлена только для 1-битной поверхности, созданной с флагом DDPF_PALETTEINDEXED1. Вы также можете создавать палитры, у которых нет цветовой таблицы. Каждый элемент палитры содержит индекс на цвет в цветовой таблице другой палитры. Такие палитры называют индексными палитрами. Чтобы создать индексную палитру, вы должны указать флаг DDPCAPS_8BITENTRIES, при вызове метода DirectDraw7.CreatePalette. Например, создавая 4-битную индексную палитру, указывайте два флага - DDPCAPS_4BIT и DDPCAPS_8BITENTRIES. Это требуется потому, что когда вы создаете индексную палитру, вы передаете указатель на массив байтов большего размера, чем массив структур PALETTEENTRY. |