Entwickler-Ecke

Windows API - setdibits?


Boldar - Fr 18.09.09 15:50
Titel: setdibits?
Hallo,
Was genau macht setdibits?
Ich habe schon in der OH geguckt, aber das nicht so ganz verstanden.
Was heisst überhaupt dib?
Ich glaube, dass ist eine Konvertierung eines Pixel-arrays in das (von Windows verwaltete??) Bitmap Format?
mfg Boldar


Moderiert von user profile iconNarses: Topic aus Multimedia / Grafik verschoben am Fr 18.09.2009 um 16:27


jaenicke - Fr 18.09.09 16:01

user profile iconBoldar hat folgendes geschrieben Zum zitierten Posting springen:
Was genau macht setdibits?
Ich habe schon in der OH geguckt, aber das nicht so ganz verstanden.
Hier hattest du geschaut?
http://msdn.microsoft.com/en-us/library/dd162973.aspx
Das wandelt die Daten einer geräteunabhängigen Bitmap in eine um, die dem Format des verwendeten Grafiktreibers nahe kommt. Dadurch funktioniert diese dann auf dem entsprechenden PC schneller, aber auf anderen so ggf. gar nicht.

user profile iconBoldar hat folgendes geschrieben Zum zitierten Posting springen:
Was heisst überhaupt dib?
Device Independent Bitmap ;-)


Boldar - Fr 18.09.09 16:08

Wie kann man denn aus einer dib auf die Pixel usw zugreifen?


jaenicke - Fr 18.09.09 16:14

Hier steht mehr über die Struktur. Im Grunde liegen die Werte einfach hintereinander im Speicher. Das kennst du ja vermutlich von ScanLine.
http://msdn.microsoft.com/en-us/library/dd183375.aspx


Boldar - Fr 18.09.09 16:25

Also wenn der letzte Parameter von setdibits gleich DIB_RGB_COLORS ist, kann ich einfach den ursprünglich in lpvbits übergebenen Wert als pointer auf ein array [0..??, 0..??] of ??
auffassen?
Aber was heisst "literal rgb values"??
Und wie werden die "arraygrößen" ermittelt?
Die eine größe wird ja in scanlines übergeben, oder?