Vcl.Graphics.DDBsOnly

De RAD Studio API Documentation
Aller à : navigation, rechercher

Delphi

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

C++

extern DELPHI_PACKAGE bool DDBsOnly;

Propriétés

Type Visibilité  Source Unité  Parent
variable public
Vcl.Graphics.pas
Vcl.Graphics.hpp
Vcl.Graphics Vcl.Graphics

Description

Détermine si les handles de bitmap sont créés en tant que bitmaps dépendant du périphérique (DDB).

Définissez DDBsOnly pour forcer tous les handles de bitmap à être créés en tant que bitmaps dépendant du périphérique (DDB). Le format par défaut de handle de bitmap est DIB (bitmap indépendant du périphérique).

Définir DDBsOnly à true est contraire à la plus grande partie de l'architecture des graphiques, et ne doit être utilisé que lorsque c'est absolument nécessaire. Voici quelques exemples où l'on peut le faire :

Vous avez une application avec de nombreux graphiques qui effectue des opérations sur les bitmaps que Windows ne supporte pas avec les DIB ; vous pouvez soit définir comme DDB chaque objet bitmap, soit initialiser à true cette variable globale.

Votre application utilise des centaines de très petits bitmaps. Chaque DIB occupe une page mémoire distincte de 4 Ko. Le format DIB est moins performant que le format DDB pour le stockage de nombreuses petites images. Toutefois, avant de modifier la valeur de l'indicateur DDBsOnly pour y remédier, pensez à utiliser dans votre code des listes d'images plutôt que de minuscules bitmaps individuels. Les listes d'images sont plus performantes que les DIB ou les DDB pour le stockage de nombreuses petites images de même taille.

Remarque :  Définir DDBsOnly à true repose le problème d'altération des images. Quand un fichier bitmap ou une ressource est chargé dans un DDB, les informations de couleur de l'image originale sont modifiées pour s'adapter au format de pixels de l'écran et du mode en cours. Si vous lisez une image, que vous modifiez son handle puis que vous la réécrivez, vous obtiendrez un fichier différent de celui que vous avez lu. Les DIB résolvent ce problème. Ne changez la valeur de DDBsOnly que si vous avez un besoin spécifique de bitmaps dépendant du périphérique et si vous acceptez les effets du problème d'altération des DDB.

Voir aussi