Entwickler-Ecke
Multimedia / Grafik - Wie sind die Farben in den Bitmaps abgespeichert
Anonymous - Mo 18.11.02 20:00
Titel: Wie sind die Farben in den Bitmaps abgespeichert
Unabhängig der Bit-Tiefe ist TColor immer 4 Byte groß. Aber um TColor geht es hier nicht. Mich würd interessieren wie die Farben in den einzelnen Farbtiefen abgespeichert sind. Delphi kennt diese Farbtiefen: pf1bit, pf4bit, pf8bit, pf15bit, pf16bit, pf24bit und pf32bit.
Ich schätze, daß bei pf1bit ein Byte acht Pixel repräsentiert. Schwarz ist 1, weiß ist 0.
Dann würde ich schätzen, daß bei pf24bit drei Byte ein Pixel darstellen.
Dann gibts noch pf8bit. Hier schätze ich, daß es eine Palette mit 256 Farben gibt und ein Pixel ein Byte belegt . Dieses Byte ist ein Palettenwert.
Wer weiss wie es richtig ist oder wo ich das nachlesen kann. Ich brauche nur die Infos wie das gespeichert wird.
OregonGhost - Di 19.11.02 11:02
Das stimmt im Prinzip schon so alles. Da Delphi auch nichts anderes macht, als Windows Bitmaps zu kapseln, solltest du vielleicht im PSDK unter Graphics and Multimedia Services->Windows GDI->Bitmaps nachlesen. Dort sind zum Beispiel die Artikel "Device-Independent Bitmaps" und "Bitmap Storage" interessant, sowie die Spezifikationen für BITMAP, BITMAPINFO, BITMAPINFOHEADER und CreateDIBSection.
Wie die Farbtiefen normalerweise gespeichert sind, kann ich dir (wahrscheinlich (c; ) auch so sagen:
1 Bit ist klar
4 Bit sind 16 Farben, ich glaube immer die Systemfarben, vielleicht auch Palette
8 Bit sind Palette mit bis zu 256 Einträgen
15 Bit ist normalerweise R5G5B5
16 Bit ist normalerweise R5G6B5
24 Bit ist R8G8B8
32 Bit ist R8G8B8A8, kann aber theoretisch auch z.B. R10G10B10A2 sein.
Bei allen gilt: in DIBs ist meist BGR die Reihenfolge, nicht RGB. Weiß aber nicht mehr genau, womit das zusammenhängt ;c)
Anonymous - Di 19.11.02 22:30
Danke, das reicht mir erstmal.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!