Utilisation des canevas pour dessiner

De RAD Studio
Aller à : navigation, rechercher

Remonter à Graphiques et composants - Index

La classe canevas encapsule les contrôles graphiques à plusieurs niveaux, notamment les fonctions de haut niveau pour dessiner du texte, des formes et des lignes individuelles. La classe Vcl.Graphics.TCustomCanvas définit une classe abstraite pour tous les objets canevas définis dans la bibliothèque des composants visuels. La plupart des contrôles de la VCL ont un objet canevas associé ; à l'exception des contrôles qui sont liés à des contrôles Windows (tels que Vcl.StdCtrls.TButton) et des contrôles qui utilisent le canevas du parent pour dessiner (tels que Vcl.ExtCtrls.TPaintBox).


Vcl.Graphics.TCustomCanvas a deux descendants principaux :


Notez que tous les contrôles VCL utilisent le descendant Vcl.Graphics.TCanvas, car la plupart des systèmes d'exploitation Windows ne supportent pas le canevas Direct2D. La seule version Windows qui supporte Vcl.Direct2D.TDirect2DCanvas est Windows 7.


En tant que concept, le canevas est divisé en trois niveaux d'abstraction : Niveau élevé, Niveau intermédiaire et Niveau faible. Chaque niveau définit un ensemble de fonctionnalités. La fonctionnalité Niveau élevé est disponible pour tous les canevas, indépendamment des détails d'implémentation. Le niveau intermédiaire reste sémantiquement identique entre les implémentations de canevas, mais peut être différent dans l'interface publique exposée. Enfin, le niveau faible expose les fonctionnalités qui dépendent de l'implémentation.


Le tableau suivant récapitule les trois niveaux d'abstraction. Considérez-le comme une référence, car des fonctions définies au niveau élevé ne sont pas encore implémentées dans tous les descendants de canevas.


Fonctionnalités de niveau élevé :

Opération Outils

Dessin de lignes et de formes

Méthodes telles que MoveTo, LineTo, Rectangle et Ellipse

Affichage et mesure de texte

Méthodes TextOut, TextHeight, TextWidth et TextRect

Remplissage de zones

Méthodes FillRect et FloodFill


Fonctionnalités de niveau intermédiaire :

Opération Outils

Personnalisation de texte et des graphiques

Propriétés Pen, Brush et Font


Fonctionnalités de niveau faible :

Opération Outils

Appel des fonctions GDI de Windows

Propriété Handle (Vcl.Graphics.TCanvas)

Appel des fonctions Direct2D de Windows (Vcl.Direct2D.TDirect2DCanvas)

Propriété RenderTarget

Manipulation de pixels

Propriété Pixels (Vcl.Graphics.TCanvas)

Copie et fusion d'images

Méthodes Draw, StretchDraw, BrushCopy et CopyRect ; Propriété CopyMode (Vcl.Graphics.TCanvas)

Opérations de dessin avancées

DrawEllipse, DrawGeometry, FillRectangle (Vcl.Direct2D.TDirect2DCanvas)


Voir aussi