Hallo, hier gilt doch normalerweise: Neues Thema -> neuer Thread. (Und dort bitte dann: Für den Fall, dass du die Sache event. doch noch zum Laufen bringen möchtest, solltest du zumindest schon mal den Text der Fehlermeldung genau mit angeben, ggf. auch etwas Code drumrum).
DIBs sind geräteunabhängige Bitmaps (device independent bitmaps). Das heißt, sie haben z.B. keine Leinwand (Canvas) mit dabei, wie eben die TBitmap-Objekte von Delphi, ...welches daher also
DDBs sind (device dependent bitmaps). Die characteristischen Daten eines DIBs (u.a. auch der Pointer darauf, wo im
Ram denn nun die Pixel tatsächlich stehen) liegen in einem sogenannten 'BitmapInfo' vor. Das ist eine Datenstruktur auf die also auch gelegentlich in der Parameterliste einiger
Api-Grafikfunktionen gepointet werden muss. Ein DDB o. ein TBitmap-Objekt hat jedoch kein solches BitmapInfo. Ergo kann es also durchaus vorteilhaft sein, mittels 'GetDIB' ein zu einem TBitmap-Objekt ansonsten äquivalentes DIB zu erzeugen
*, mit diesem dann irgendwelche
Api-Funktionen ausführen zu lassen und die resultierenden Pixeldaten dann anschließend wieder per 'SetDIBits' in das anfänglich paralelle TBitmap-Objekt zurückzuschreiben... (wie ich das ja z.B. auch
hier gemacht habe).
* (und zwar aus einem zweiten TBitmap-Objekt das formatmäßig quasi ein eineiiger Zwilling zum ersteren ist)