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

BITMAPINFOHEADER - biClrUsed i biClrImportant czym różnia się oba pola
TP
  • Rejestracja:około 14 lat
  • Ostatnio:ponad 10 lat
  • Postów:26
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?


Software is like sex, It's better when it's free. Pokochaj -Wall -Wextra -pedantic -g -pg
Kompilator i debugger to twoi najlepsi przyjaciele
edytowany 2x, ostatnio: tpsa
xeo545x39
Nie jestem pewien, ale chyba zaraz jakiś mod ci wyrzuci wątek za taki tytuł.
06
  • Rejestracja:prawie 20 lat
  • Ostatnio:około rok
  • Postów:2440
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.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.