BITMAPINFOHEADER - biClrUsed i biClrImportant czym różnia się oba pola

0

Piszę sobie prostą klasę do edycji/odczytu plików bmp (jak na razie nie skompresowanych 24 bitowych). Próbuję też zaimplementować i zrozumieć tzw. paletę barw która jest po nagłówku BITMAPINFOHEADER. Co znaczą pozycje wymienione w tytule. W dokumentacji MSDN można przeczytać:

biClrUsed

The number of color indexes in the color table that are actually used by the bitmap

biClrImportant

The number of color indexes that are required for displaying the bitmap.

Czy kolor który jest niezbędny do wyświetlenia bitmapy może nie być używana przez bitmapę? (i na odwrót). Ktoś mógłby mnie objaśnić o co chodzi w tym?

0

Różnica jest taka, że biClrUsed zawiera liczbę kolorów w palecie, czyli ilość pozycji w bmiColors, a biClrImportant liczbę kolorów użytych w bitmapie. Nikt nie powiedział, że paleta musi zawierać tylko te kolory, które są użyte w bitmapie. biClrImportant miała pomóc efektywnym wykorzystaniu pamięci GDI. Nie sądzę, żeby dzisiaj ten parametr miał jakieś istotne znaczenie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1