Jak sprawdzić ilu bitowa jest wczytana bitmapa?

Odpowiedz Nowy wątek
2006-12-04 15:29
xxx2
0

jak wyżej

Pozostało 580 znaków

2006-12-04 16:08
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;

<span style="color: blue">"Kolarstwo to jedna z najtrudniejszych dyscyplin sportu. Nawet najgorszy kolarz jest wciąż wybitnym sportowcem."
s.p. Marco Pantani
</span>

Pozostało 580 znaków

2006-12-04 16:12
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

Pozostało 580 znaków

2006-12-06 21:13
0

ten kod piwyzej zwrocui tylko wtedy kiedy zaldaujesz bitmape z tbitmap.loadfromfile('plik.bmp');

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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