Sign in Join
Wiki copytemporary

BGRABitmap tutorial 6/de: what changed

Revision 1 to 2. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
11Dieses Tutorial zeigt, wie Sie unterschiedliche Linienarten und Formen verwenden können.
22
33### Erzeugen Sie ein neues Projekt
44
55Erzeugen Sie ein neues Projekt und fügen Sie eine Referenz auf [[BGRABitmap/de|BGRABitmap]] hinzu, genau so wie im [[BGRABitmap tutorial/de|ersten Tutorial]].
66
77### Fügen Sie einen Zeichen-Handler hinzu
88
99Im Objektinspektor fügen Sie einen OnPaint-Handler hinzu und schreiben Sie:
1010
1111``` pascal
1212procedure TForm1.FormPaint(Sender: TObject);
1313var image: TBGRABitmap;
1414 c: TBGRAPixel;
1515begin
1616 image := TBGRABitmap.Create(ClientWidth, ClientHeight, clBtnFace);
1717 c := clWindowText;
1818
1919 image.RectangleAntialias(80,80,300,200, c, 50);
2020
2121 image.Draw(Canvas,0,0,True);
2222 image.free;
2323end;
2424```
2525
2626### Starten Sie das Programm
2727
2828Das sollte ein Rechteck mit einem breiten, schwarzen Stift zeichnen.
2929
30-<figure>
31-<img src="BGRATutorial6a.png" title="BGRATutorial6a.png" />
32-<figcaption>BGRATutorial6a.png</figcaption>
33-</figure>
30+![](/wiki-images/0/06/BGRATutorial6a.png)
3431
3532### Ändern Sie die Verbindungsart
3633
3734Wenn Sie abgerundete Ecken wollen, geben Sie an:
3835
3936``` pascal
4037 image.JoinStyle := pjsRound;
4138```
4239
4340### Starten Sie das Programm
4441
4542Das sollte ein Rechteck mit einem breiten, schwarzen Stift und abgerundeten Ecken zeichnen.
4643
47-<figure>
48-<img src="BGRATutorial6b.png" title="BGRATutorial6b.png" />
49-<figcaption>BGRATutorial6b.png</figcaption>
50-</figure>
44+![](/wiki-images/3/34/BGRATutorial6b.png)
5145
5246### Mischen Sie die Verbindungsarten
5347
5448Sie können die Verbindungsarten für ein Rechteck folgendermaßen mischen:
5549
5650``` pascal
5751 image.FillRoundRectAntialias(80,80,300,200, 20,20, c, [rrTopRightSquare,rrBottomLeftSquare]);
5852```
5953
6054Diese Funktion benutzt abgerundete Ecken als Vorgabe, aber Sie können dies durch normale Ecken oder abgeschrägte Ecken überschreiben. Sie erhalten dadurch folgendes Bild.
6155
62-<figure>
63-<img src="BGRATutorial6e.png" title="BGRATutorial6e.png" />
64-<figcaption>BGRATutorial6e.png</figcaption>
65-</figure>
56+![](/wiki-images/5/54/BGRATutorial6e.png)
6657
6758### Ändern Sie die Linienart
6859
6960Sie können auch eine punktierte Linie zeichnen:
7061
7162``` pascal
7263 image.JoinStyle := pjsBevel;
7364 image.PenStyle := psDot;
7465 image.DrawPolyLineAntialias([PointF(40,200), PointF(120,100), PointF(170,140), PointF(250,60)],c,10);
7566```
7667
7768Sie erhalten dadurch folgendes Bild. Beachten Sie den gerundeten Linienanfang.
7869
79-<figure>
80-<img src="Tutorial6c.png" title="Tutorial6c.png" />
81-<figcaption>Tutorial6c.png</figcaption>
82-</figure>
70+![](/wiki-images/3/30/Tutorial6c.png)
8371
8472### Ändern Sie die Linienenden
8573
8674Zeichnen Sie einen Linienzug mit eckigen Linienenden:
8775
8876``` pascal
8977 image.JoinStyle := pjsBevel;
9078 image.LineCap := pecSquare;
9179 image.PenStyle := psSolid;
9280 image.DrawPolyLineAntialias([PointF(40,200), PointF(120,100), PointF(170,140), PointF(250,60)],c,10);
9381```
9482
95-<figure>
96-<img src="BGRATutorial6d.png" title="BGRATutorial6d.png" />
97-<figcaption>BGRATutorial6d.png</figcaption>
98-</figure>
83+![](/wiki-images/7/73/BGRATutorial6d.png)
9984
10085### Zeichnen offener Linien
10186
10287Sie können eine offene Linie zeichnen, d.h. das Linienende ist ausgehöhlt.
10388
10489``` pascal
10590 image.DrawPolyLineAntialias([PointF(40,200), PointF(120,100), PointF(170,140), PointF(250,60)],c,10,False);
10691```
10792
108-<figure>
109-<img src="BGRATutorial6f.png" title="BGRATutorial6f.png" />
110-<figcaption>BGRATutorial6f.png</figcaption>
111-</figure>
93+![](/wiki-images/2/2f/BGRATutorial6f.png)
11294
11395Auf diese Weise lassen sich mehrere Linien miteinander verbinden, ohne die Verbindung doppelt zu zeichnen. Das ist besonders nützlich bei semi-transparenten Zeichnungen. Vergleichen Sie die Ergebnisse:
11496
11597``` pascal
11698 c := BGRA(0,0,0,128);
11799
118100 image.DrawLineAntialias(40,150, 120,50, c, 10);
119101 image.DrawLineAntialias(120,50, 170,90, c, 10);
120102 image.DrawLineAntialias(170,90, 250,10, c, 10);
121103
122104 image.DrawLineAntialias(40,250, 120,150, c, 10, False);
123105 image.DrawLineAntialias(120,150, 170,190, c, 10, False);
124106 image.DrawLineAntialias(170,190, 250,110, c, 10, True);
125107```
126108
127-<figure>
128-<img src="Tutorial6g.png" title="Tutorial6g.png" />
129-<figcaption>Tutorial6g.png</figcaption>
130-</figure>
109+![](/wiki-images/8/8f/Tutorial6g.png)
131110
132111[[BGRABitmap tutorial 5/de|Voriges Tutorial (Ebenen und Masken)]] \| [[BGRABitmap tutorial 7/de|Nächstes Tutorial (Splines)]]
133112
134113---
135114*From the Free Pascal wiki, page "BGRABitmap tutorial 6/de", as it stood on 2024-02-15 after a change by Circular, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history