jak wyżej
0
0
odczytać wartość PitPerPixel z nagłówka bitmapy
VAR
FileHeader: TBITMAPFILEHEADER;
InfoHeader: TBITMAPINFOHEADER;
lub
THeader = RECORD
Typ :ARRAY [0..1] OF Char;
FSize :LongInt;
Wolne1 :Word;
Wolne2 :Word;
OFFSET :LongInt;
Info :LongInt;
Szer :LongInt;
Wys :LongInt;
Plany :Word;
BitPerPixel :Word;
Kompresja :LongInt;
Rozmiar :LongInt;
HDPI :LongInt;
VDPI :LongInt;
Kolory :LongInt;
Znaczace :LongInt;
END;
0
jak nie wiesz co ci Oleksy nabazgrał to jak niżej ;-P (troszke bardziej ograniczone ) :
function ileBitow(const Bitmapa:TBitmap):byte;
begin
case Bitmapa.PixelFormat of
pf32bit:Result:=32;
pf24bit:Result:=24;
pf16bit:Result:=16;
pf8bit:Result:=8;
pf1bit:Result:=1;
else Result:=0 // jak ci zwróci 0 to znaczy że inne niż powyżej
end;
Małe objaśnienie
Możliwe są jescze 2 typy pfDevice (zależny od urządzenia ) oraz pfCustom (inne) . e takim przypadku nie wiadomo (tzn chyba ze wiesz) ile ma bitów
0
ten kod piwyzej zwrocui tylko wtedy kiedy zaldaujesz bitmape z tbitmap.loadfromfile('plik.bmp');