Autor Beitrag
Popov
Gast
Erhaltene Danke: 1



BeitragVerfasst: Mo 18.11.02 20:00 
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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 215



BeitragVerfasst: 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)

_________________
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
Popov
Gast
Erhaltene Danke: 1



BeitragVerfasst: Di 19.11.02 22:30 
Danke, das reicht mir erstmal.