Vcl.Graphics.DDBsOnly

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

DDBsOnly: Boolean = False; // True = Load all BMPs as device bitmaps.

C++

extern DELPHI_PACKAGE bool DDBsOnly;

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
variable public
Vcl.Graphics.pas
Vcl.Graphics.hpp
Vcl.Graphics Vcl.Graphics

Beschreibung

Bestimmt, ob Bitmap-Handles als geräteabhängige Bitmaps (DDB) erstellt werden.

Wenn Sie DDBsOnly auf true setzen, werden alle Bitmap-Handles als geräteabhängige Bitmaps (DDB) erstellt. Das Standardformat für diese Handles ist DIB (geräteunabhängiges Bitmap).

Das Zuweisen von DDBsOnly wirkt sich sehr stark auf die Grafikarchitektur aus. Setzen Sie die Variable daher nur auf true, wenn es unbedingt erforderlich ist. In den folgenden Situationen sollte DDBsOnly auf true gesetzt werden:

Eine grafikintensive Anwendung führt Bitmap-Operationen durch, die Windows nicht für DIBs unterstützt. Sie können dann entweder jedes Bitmap-Objekt auf DDB setzen, bevor sie auf dessen Eigenschaft Handle zugreifen, oder Sie können dieser globalen Variablen true zuweisen.

In einer Anwendung werden hunderte sehr kleiner Bitmaps verwendet. Für jedes DIB wird eine eigene 4-KB-Speicherseite benötigt. DIBs sind zum Speichern vieler kleiner Grafiken weniger effizient als DDBs. Sie sollten aber in Betracht ziehen, Bilderlisten statt einzelner kleiner Bitmaps zu verwenden. Bilderlisten sind weitaus effizienter für das Speichern vieler kleiner Grafiken gleicher Größe als DIBs und DDBs.

Anmerkung:  Das Setzen von DDBsOnly auf true kann zu geänderten Grafiken führen. Beim Laden einer BMP-Datei oder Ressource in ein DDB werden die Farbinformationen der Originalgrafik entsprechend dem Pixelformat des aktuellen Grafikgeräts und -modus geändert. Wenn Sie eine Grafik einlesen, auf ihr Handle zugreifen und wieder schreiben, ist die neue Datei nicht mehr mit der eingelesenen identisch. Dieses Problem wird durch DIBs behoben. Ändern Sie daher den Wert von DDBsOnly nur, wenn Sie unbedingt geräteabhängige Bitmaps benötigen und die Grafikänderungen in Kauf genommen werden können.

Siehe auch