Difference between revisions of "BGRABitmap tutorial 6/fr"

From Lazarus wiki
Jump to navigationJump to search
m (Fixed syntax highlighting; deleted category already in page template)
Line 12: Line 12:
  
 
Avec l'inspecteur de projet, ajoutez un gestionnaire ''OnPaint'' :
 
Avec l'inspecteur de projet, ajoutez un gestionnaire ''OnPaint'' :
<syntaxhighlight>procedure TForm1.FormPaint(Sender: TObject);
+
<syntaxhighlight lang="pascal">procedure TForm1.FormPaint(Sender: TObject);
 
var image: TBGRABitmap;
 
var image: TBGRABitmap;
 
     c: TBGRAPixel;
 
     c: TBGRAPixel;
Line 34: Line 34:
  
 
Si vous voulez des coins ronds, vous pouvez spécifier  :
 
Si vous voulez des coins ronds, vous pouvez spécifier  :
<syntaxhighlight>    image.JoinStyle := pjsRound;</syntaxhighlight>
+
<syntaxhighlight lang="pascal">    image.JoinStyle := pjsRound;</syntaxhighlight>
  
 
=== Exécution du programme ===
 
=== Exécution du programme ===
Line 45: Line 45:
  
 
Vous pouvez mélanger les styles de jointures comme ceci :
 
Vous pouvez mélanger les styles de jointures comme ceci :
<syntaxhighlight>    image.FillRoundRectAntialias(80,80,300,200, 20,20, c, [rrTopRightSquare,rrBottomLeftSquare]);   
+
<syntaxhighlight lang="pascal">    image.FillRoundRectAntialias(80,80,300,200, 20,20, c, [rrTopRightSquare,rrBottomLeftSquare]);   
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Line 55: Line 55:
  
 
Vous pouvez dessiner une ligne en pointillés comme cela :
 
Vous pouvez dessiner une ligne en pointillés comme cela :
<syntaxhighlight>    image.JoinStyle := pjsBevel;
+
<syntaxhighlight lang="pascal">    image.JoinStyle := pjsBevel;
 
     image.PenStyle := psDot;
 
     image.PenStyle := psDot;
 
     image.DrawPolyLineAntialias([PointF(40,200), PointF(120,100), PointF(170,140), PointF(250,60)],c,10);
 
     image.DrawPolyLineAntialias([PointF(40,200), PointF(120,100), PointF(170,140), PointF(250,60)],c,10);
Line 67: Line 67:
  
 
Vous pouvez dessiner une polyligne avec des extrémités carrées comme cela :
 
Vous pouvez dessiner une polyligne avec des extrémités carrées comme cela :
<syntaxhighlight>    image.JoinStyle := pjsBevel;
+
<syntaxhighlight lang="pascal">    image.JoinStyle := pjsBevel;
 
     image.LineCap := pecSquare;
 
     image.LineCap := pecSquare;
 
     image.PenStyle := psSolid;
 
     image.PenStyle := psSolid;
Line 79: Line 79:
 
Vous pouvez dessiner une ligne qui est ouverte, c'est-à-dire que la fin de la ligne est arrondie à l'intérieur.
 
Vous pouvez dessiner une ligne qui est ouverte, c'est-à-dire que la fin de la ligne est arrondie à l'intérieur.
  
<syntaxhighlight>    image.DrawPolyLineAntialias([PointF(40,200), PointF(120,100), PointF(170,140), PointF(250,60)],c,10,False);</syntaxhighlight>
+
<syntaxhighlight lang="pascal">    image.DrawPolyLineAntialias([PointF(40,200), PointF(120,100), PointF(170,140), PointF(250,60)],c,10,False);</syntaxhighlight>
 
[[Image:BGRATutorial6f.png]]
 
[[Image:BGRATutorial6f.png]]
  
 
De cette façon, vous pouvez connecter des lignes les unes après les autres sans dessiner la jonction deux fois, ce qui est utile avec le dessin semi-transparent. Vous pouvez comparer comme cela :
 
De cette façon, vous pouvez connecter des lignes les unes après les autres sans dessiner la jonction deux fois, ce qui est utile avec le dessin semi-transparent. Vous pouvez comparer comme cela :
<syntaxhighlight>    c := BGRA(0,0,0,128);
+
<syntaxhighlight lang="pascal">    c := BGRA(0,0,0,128);
  
 
     image.DrawLineAntialias(40,150, 120,50, c, 10);
 
     image.DrawLineAntialias(40,150, 120,50, c, 10);
Line 95: Line 95:
  
 
[[BGRABitmap tutorial 5/fr|Tutoriel précédent (couches et masques)]] [[BGRABitmap tutorial 7/fr|Tutoriel suivant (splines)]]
 
[[BGRABitmap tutorial 5/fr|Tutoriel précédent (couches et masques)]] [[BGRABitmap tutorial 7/fr|Tutoriel suivant (splines)]]
 
[[Category:Graphics/fr]]
 

Revision as of 06:11, 10 February 2020

Deutsch (de) English (en) español (es) français (fr)


Accueil | Tutoriel 1 | Tutoriel 2 | Tutoriel 3 | Tutoriel 4 | Tutoriel 5 | Tutoriel 6 | Tutoriel 7 | Tutoriel 8 | Tutoriel 9 | Tutoriel 10 | Tutoriel 11 | Tutoriel 12 | Edit

Ce tutoriel montre comment utiliser les différents styles de lignes et les formes.

Création d'un nouveau projet

Créez un nouveau projet et ajoutez la référence à BGRABitmap, de la même façon que dans le premier tutoriel.

Ajout d'un dessin

Avec l'inspecteur de projet, ajoutez un gestionnaire OnPaint :

procedure TForm1.FormPaint(Sender: TObject);
var image: TBGRABitmap;
    c: TBGRAPixel;
begin
  image := TBGRABitmap.Create(ClientWidth,ClientHeight,ColorToBGRA(ColorToRGB(clBtnFace)));
  c := ColorToBGRA(ColorToRGB(clWindowText)); 

  image.RectangleAntialias(80,80,300,200,c,50);

  image.Draw(Canvas,0,0,True);
  image.free;
end;

Exécution du programme

Vous devriez obtenir un rectangle avec un pinceau noir épais :

BGRATutorial6a.png

Changer le style de jointures

Si vous voulez des coins ronds, vous pouvez spécifier :

    image.JoinStyle := pjsRound;

Exécution du programme

Le programme devrait dessiner à présent un rectangle avec des coins arrondis :

BGRATutorial6b.png

Mélanger les styles de jointures

Vous pouvez mélanger les styles de jointures comme ceci :

    image.FillRoundRectAntialias(80,80,300,200, 20,20, c, [rrTopRightSquare,rrBottomLeftSquare]);

Cette fonction utilise des coins ronds par défaut, mais vous pouvez les remplacer par des coins carrés ou en biseau. Vous devriez obtenir l'image suivante :

BGRATutorial6e.png

Changer le style de ligne

Vous pouvez dessiner une ligne en pointillés comme cela :

    image.JoinStyle := pjsBevel;
    image.PenStyle := psDot;
    image.DrawPolyLineAntialias([PointF(40,200), PointF(120,100), PointF(170,140), PointF(250,60)],c,10);

Notez que l'extrémité de la ligne est arrondie.

Tutorial6c.png

Changer les extrémités des lignes

Vous pouvez dessiner une polyligne avec des extrémités carrées comme cela :

    image.JoinStyle := pjsBevel;
    image.LineCap := pecSquare;
    image.PenStyle := psSolid;
    image.DrawPolyLineAntialias([PointF(40,200), PointF(120,100), PointF(170,140), PointF(250,60)],c,10);

BGRATutorial6d.png

Dessin d'une ligne ouverte

Vous pouvez dessiner une ligne qui est ouverte, c'est-à-dire que la fin de la ligne est arrondie à l'intérieur.

    image.DrawPolyLineAntialias([PointF(40,200), PointF(120,100), PointF(170,140), PointF(250,60)],c,10,False);

BGRATutorial6f.png

De cette façon, vous pouvez connecter des lignes les unes après les autres sans dessiner la jonction deux fois, ce qui est utile avec le dessin semi-transparent. Vous pouvez comparer comme cela :

    c := BGRA(0,0,0,128);

    image.DrawLineAntialias(40,150, 120,50, c, 10);
    image.DrawLineAntialias(120,50, 170,90, c, 10);
    image.DrawLineAntialias(170,90, 250,10, c, 10);

    image.DrawLineAntialias(40,250, 120,150, c, 10, False);
    image.DrawLineAntialias(120,150, 170,190, c, 10, False);
    image.DrawLineAntialias(170,190, 250,110, c, 10, True);

Tutorial6g.png

Tutoriel précédent (couches et masques) Tutoriel suivant (splines)