Witajcie.
Chciałbym się zwrócić do was z prośbą o podpowiedź w rozwiązaniu następującego problemu.
Potrzebuję uzyskać informacje ilu bitowa jest bitmapa, która jest wczytana na mój Image. Na forum znalazłem coś takiego jak PixelFormat
jednak po zastosowaniu takiego kodu:
if Image1.Picture.Bitmap.PixelFormat=pf24bit then
ShowMessage('24 bitowa');
if Image1.Picture.Bitmap.PixelFormat=pf16bit then
ShowMessage('16 bitowa');
if Image1.Picture.Bitmap.PixelFormat=pf32bit then
ShowMessage('32 bitowa');
nie jest zwracana poprawna wartość. Skąd to wiem... Gdy zapisze bitmape do pliku i sprawdzę jego właściwości (w windowsie) pokazuje Głębia w bitach: 24. Co ciekawe po zapisaniu do pliku i ponownym odpaleniu mojego kodu sprawdzającego ile bitów ma bitmapa wynik jest poprawny.
Gdzie tkwi problem? Jak zrobić aby dostać poprawną informacje o bitmapie?
- Jeżeli chodzi o kontekst to stosuje filtry przetwarzania obrazu gdzie za pomocą ScanLine i wskaźników sczytuję kolejne bajty i składam to do kupy funkcją RGB. Co za tym idzie poprawna informacja z jaką bitmapą mam do czynienia jest niezbędna, aby poprawnie przetworzyć obraz. PixelFormat wyświetla poprawie informacje do momentu aż zacznę stosować filtry. *