DELPHI 5 Support de formation (3/3) Perfectionnement Delphi 5: Perfectionnement

DELPHI 5 Support de formation (3/3) Perfectionnement Delphi 5: Perfectionnement 1. DESSIN DE GRAPHIQUES AVEC LE CANEVAS Les images graphiques sont crées à la conception du projet (composant de type TImage avec propriété "picture" définie ou de type "TShape") ou dessinées à l'exécution. Le canevas permet d'éviter d'utiliser des fonctions bas-niveau de Windows. C'est à la fois une propriété et un objet (TCanvas) qui possède d'intéressantes propriétés (ou objets). Il dispose d'un crayon (pen) pour le dessin de lignes, d'un pinceau (brush) pour le remplissage et d'une police (font) pour les caractères. 1.1 Propriétés principales 1.1.1 Brush (pinceau) 1.1.1.1 Style La propriété Style d'un pinceau détermine le motif du pinceau pour peindre l'arrière-plan des fenêtres ou des formes graphiques. Le tableau suivant illustre les différentes valeurs possibles de Style et le motif résultant : HACHURE MOTIF bsSolid foncé bsClear clair bsBDiagonal diagonale montante bsFDiagonal diagonale descendante bsCross grillage horizontal-vertical bsDiagCross grillage en diagonales bsHorizontal lignes horizontales bsVertical lignes verticales 1.1.1.2 Color C'est la couleur de fond (voir le chapitre "Pixels) 1.1.1.3 Bitmap On peut définir soi-même un motif de fond défini comme bitmap de 8X8 et qui va se répéter autant de fois que nécessaire. © Maurice GINDENSPERGER (V 5.1) page 2/50 Delphi 5: Perfectionnement 1.1.2 Font La hauteur est indiquée par la propriété Height, la police par la propriété Name, la taille en points par la propriété Size, la couleur par la propriété Color, et les attributs de la fonte (gras, italique, etc.) par la propriété Style. Propriétés du style: VALEUR SIGNIFICATION fsBold gras fsItalic italique fsUnderline souligné fsStrikeout barré La propriété Style est un ensemble, elle peut donc contenir plusieurs valeurs. Une fonte peut, par exemple, être en gras et en italique. 1.1.3 Pen (crayon) La couleur du crayon est spécifiée par la propriété Color. La largeur en pixels de la ligne tracée est indiquée par la propriété Width. 1.1.3.1 Style Le motif de la ligne (solide, pointillé, etc) est spécifié par la propriété Style. STYLE SIGNIFICATION psSolid Le crayon dessine un trait continu. psDash Le crayon dessine un trait composé d'une série de tirets. psDot Le crayon dessine un trait composé d'une série de points. psDashDot Le crayon dessine un trait composé d'une alternance de tirets et de points. psDashDotDot Le crayon dessine un trait composé d'une série de combinaisons trait-point- point. psClear Le crayon dessine un trait ne laissant pas de marque visible. psInsideFrame Le crayon dessine une ligne dans le contour d'une forme fermée spécifiée par le rectangle de délimitation. © Maurice GINDENSPERGER (V 5.1) page 3/50 Delphi 5: Perfectionnement 1.1.3.2 Mode La propriété Mode spécifie la couleur de la ligne par rapport aux pixels qu'elle recouvre. Par exemple, pour colorier la ligne en utilisant la couleur indiquée par la propriété Color, basculez Mode à pmCopy. Pour colorier la ligne en inversant la couleur recouverte, basculez Mode à pmNot. MODE COULEUR DU PIXEL pmBlack Toujours noir. pmWhite Toujours blanc. pmNop Inchangé. pmNot Inverse de la couleur de l'écran. pmCopy Couleur de crayon spécifiée par la propriété Color. pmNotCopy Inverse de la couleur du crayon. pmMergePenNot Combinaison de la couleur du crayon et de l'inverse de la couleur de l'écran. pmMaskPenNot Combinaison des couleurs communes au crayon et à l'inverse de l'écran. pmMergeNotPen Combinaison de la couleur de l'écran et de l'inverse de la couleur du crayon. pmMaskNotPen Combinaison des couleurs communes à l'écran et à l'inverse du crayon. pmMerge Combinaison de la couleur du crayon et de l'écran. pmNotMerge Inverse de la combinaison pmMerge de la couleur du crayon et de l'écran. pmMask Combinaison des couleurs communes au crayon et à l'écran. pmNotMask Inverse de la combinaison pmMask de la couleur du crayon et de l'écran. pmXor Combinaison des couleurs du crayon et de l'écran mais n'apparaissant pas dans les deux. pmNotXor Inverse de la combinaison pmXor des couleurs du crayon et de l'écran mais n'apparaissant pas dans les deux. © Maurice GINDENSPERGER (V 5.1) page 4/50 Delphi 5: Perfectionnement 1.1.4 Pixels On peut ici lire ou attribuer la couleur de chaque point. La couleur est de type TColor et est exprimée sur 4 octets dont 3 donnent l'intensité (de 0 à 255) pour les 3 couleurs additives: rouge, vert et bleu. Il existe des prédéfinitions de couleurs VALEUR SIGNIFICATION clBlack Noir clMaroon Marron clGreen Vert clOlive Vert olive clNavy Bleu marine clPurple Violet clTeal Turquoise clGray Gris clSilver Argent clRed Rouge clLime Vert clair clBlue Bleu clFuchsia Fuchsia clAqua Eau clWhite Blanc clBackground Couleur courante de fond Windows clActiveCaption Couleur courante de la barre de titre de la fenêtre active clInactiveCaption Couleur courante de la barre de titre des fenêtres inactives clMenu Couleur de fond courante des menus clWindow Couleur de fond courante des fenêtres clWindowFrame Couleur de fond courante des cadres de fenêtre clMenuText Couleur courante du texte des menus clWindowText Couleur courante du texte des fenêtres clCaptionText Couleur courante du texte dans la barre de titre de la fenêtre active clActiveBorder Couleur courante de la bordure de la fenêtre active clInactiveBorder Couleur courante de la bordure des fenêtres inactives clAppWorkSpace Couleur courante de l'espace de travail de l'application clHighlight Couleur de fond courante du texte sélectionné clHightlightText Couleur courante du texte sélectionné clBtnFace Couleur courante d'une face de bouton clBtnShadow Couleur courante de l'ombre projetée par un bouton clGrayText Couleur courante du texte grisé clBtnText Couleur courante du texte d'un bouton clInactiveCaptionText Couleur courante du texte dans la barre de titre d'une fenêtre inactive clBtnHighlight Couleur courante d'un bouton en surbrillance © Maurice GINDENSPERGER (V 5.1) page 5/50 Delphi 5: Perfectionnement Les autres couleurs peuvent êtres obtenues par une fonction RGB dont voici l'entête: function RGB(Rouge: Byte; Vert: Byte; Bleu: Byte): LongInt; Si toutes les intensités sont à 0, la couleur est noire. On obtient le blanc avec des valeurs maximales partout (255). © Maurice GINDENSPERGER (V 5.1) page 6/50 Delphi 5: Perfectionnement 1.2 Méthodes principales 1.2.1 MoveTo (déplacer) La position courante du crayon est indiquée par la propriété PenPos. Pour déplacer le crayon, appelez la méthode MoveTo. procedure MoveTo(X, Y: Integer); 1.2.2 TextOut (affichage de texte) Pour afficher du texte, appelez la méthode TextOut (pour déterminer si le texte peut s'afficher à l'intérieur d'une zone définie, utilisez TextHeight et TextWidth). procedure TextOut(X, Y: Integer; const Text: string); 1.2.3 LineTo (ligne droite) procedure LineTo(X, Y: Integer); 1.2.4 PolyLine (suite de lignes) procedure Polyline(Points: array of TPoint); 1.2.5 Arc ou Chord Pour dessiner des courbes, appelez les méthodes Arc ou Chord. La méthode Arc dessine un arc sur le canevas en suivant le périmètre de l'ellipse circonscrit au rectangle spécifié. Les coordonnées (X1, Y1 et X2, Y2) définissent le rectangle qui circonscrit l'arc. L'arc débute à l'intersection du bord de l'ellipse et de la droite passant par le centre de l'ellipse et le point initial (X3, Y3). Le tracé de l'arc se fait dans le sens inverse des aiguilles d'une montre et s'arrête lorsque le point d'intersection entre le bord de l'ellipse d'une part, et la ligne qui passe par le centre de l'ellipse et le point de fin (X4, Y4) d'autre part, est atteint. procedure Arc(X1, Y1, X2, Y2, X3, Y3, X4, Y4: Integer); La méthode Chord trace une corde sur le canevas restant circonscrite au rectangle spécifié en connectant deux points d'une ellipse. Les coordonnées écran (X1, Y1) et (X2, Y2), exprimées en pixels, définissent le rectangle qui circonscrit la corde. (X3,Y3) est le point de départ du tracé et (X4, Y4) est le point d'arrivée. procedure Chord(X1, Y1, X2, Y2, X3, Y3, X4, Y4: Integer); 1.2.6 Rectangle procedure Rectangle(X1, Y1, X2, Y2: Integer); © Maurice GINDENSPERGER (V 5.1) page 7/50 Delphi 5: Perfectionnement 1.2.7 RoundRect (rectangle aux coins arrondis) La méthode RoundRect dessine dans le canevas, sensiblement de la même manière que la méthode Rectangle, un rectangle dont l'angle supérieur gauche se trouve au point (X1, Y1) et l'angle inférieur droit (X2, Y2). Mais, RoundRect dessine les angles avec des quarts d'ellipse de largeur X3 et de hauteur Y3. procedure RoundRect(X1, Y1, X2, Y2, X3, Y3: Integer); 1.2.8 Ellipse La méthode Ellipse dessine une ellipse définie par le rectangle qui la circonscrit sur le canevas. Les coordonnées en pixels de l'angle supérieur gauche du rectangle sont (X1, Y1), et celles de l'angle inférieur droit sont (X2, Y2). Un cercle est dessiné si les points définis aboutissent à une forme carrée. procedure Ellipse(X1, Y1, X2, Y2: Integer); 1.2.9 Pie (secteur) La méthode Pie dessine, dans le canevas, la section d'une ellipse délimitée par le rectangle de coordonnées (X1, Y1) et (X2, Y2). La section dessinée est déterminée par les deux lignes partant du centre et passant par les points (X3, Y3) et (X4, Y4). procedure Pie(X1, Y1, X2, Y2, X3, Y3, X4, Y4: Longint); 1.2.10 Polygon (polygone) La méthode Polygon dessine dans le canevas une série de lignes en connectant les points transmis dans Points (de la même manière que la méthode PolyLine), puis ferme la forme en traçant une ligne entre le dernier et le premier point. Après avoir dessiné toute la forme, Polygon la remplit en utilisant le pinceau uploads/s3/ delphi-perfectionnement.pdf

  • 16
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager