Présentation des graphiques

De RAD Studio
Aller à : navigation, rechercher

Remonter à Graphiques et composants - Index

Delphi encapsule à différents niveaux les fonctions GDI de Windows. Le programmeur qui écrit des composants doit comprendre comment ceux-ci affichent leurs images à l'écran. Lorsque vous appelez directement les fonctions GDI, vous devez disposer d'un handle sur un contexte de périphérique dans lequel vous avez sélectionné des outils de dessin comme les crayons, les pinceaux et les fontes. Après avoir tracé vos images, vous devez remettre le contexte de périphérique dans son état initial avant de le restituer.

Au lieu de vous contraindre à gérer les graphiques au niveau détaillé, Delphi met à votre disposition une interface simple mais complète : il s'agit de la propriété Canvas des composants. Le canevas garantit qu'un contexte de périphérique valide est disponible et restitue le contexte lorsqu'il est inutilisé. Il dispose également de propriétés spécifiques pour représenter la fonte, le crayon et le pinceau en cours.

Le canevas gère toutes ces ressources à votre place et vous n'avez donc pas le souci de créer, de sélectionner ou de restituer les éléments comme le handle d'un crayon. Vous n'avez qu'à indiquer au canevas le crayon à utiliser et il se charge du reste.

Un des avantage à laisser Delphi gérer les ressources graphiques est que Delphi peut les mettre en cache pour les utiliser ultérieurement, ce qui peut accélérer les opérations répétitives. Par exemple, supposons qu'un programme crée, utilise puis restitue un outil crayon d'un certain type plusieurs fois de suite, vous devez répéter ces étapes chaque fois que vous l'utilisez. Comme Delphi met en cache les ressources graphiques, il est probable que l'outil que vous utilisez souvent est encore dans le cache et, au lieu d'avoir à recréer un outil, Delphi utilise celui qui existe.

Par exemple, vous pouvez imaginer une application avec des dizaines de fiches ouvertes et des centaines de contrôles. Chacun de ces contrôles peut présenter une ou plusieurs propriétés TFont. Comme cela peut générer des centaines ou des milliers d'instances d'objets TFont, la plupart des applications n'utiliseront que deux ou trois handles de fontes grâce à un cache de fontes.