-=mAkAbrAs=- napisał(a)
no OK. A jeśli obraz jest BEZ PALETY kolorów? I jeśli poziom szarości zapisany jest za pomocą jednego bajta na piksel? Skąd wiedzieć, że to szary?
To zależy co rozumiesz przez obraz bez palety... Obraz bez palety kolorów to (przeważnie) obraz RGB-nieskompresowany, 24-bitowy kolor.
--
sapero:
W pliku BMP po BITMAPINFOHEADER jest paleta kolorów RGBQUAD bmiColors[1] (patrz BITMAPINFO) [bitmapę wskazuje bOffBits z BITMAPFILEHEADER].
Teraz dla ilości bitów koloru mamy:
8 The bitmap has a maximum of 256 colors, and the bmiColors member contains up to 256 entries. In this case, each byte in the array represents a single pixel.
24 The bitmap has a maximum of 2^24 colors, and the bmiColors member is NULL. Each 3-byte triplet in the bitmap array represents the relative intensities of blue, green, and red, respectively, for a pixel.
Dla trybów 16- i 32-bitowych znaczenie ma jeszcze wartość biCompression (RGB lub BITFIELDS).
A czy coś takiego jak 8-bitowy (2+2+2+2 ?!!?!) kolor RGB w ogóle istnieje dla BMP?? Tryb 8-bitowy jest trybem indeksowanym, przynajmnije dla Windows DIB BMP...
Jeżeli w pliku jest obraz 8-bitowy bez tablicy kolorów (jak??!!) to nie można wiedzieć jakie są to kolory :) Ale można przypuszczać, że jest to jasność (intensity) tak jak w telewizji czarno-białej. Może być od czarnego do białego ale też np. od czarnego do zielonego.