![]() |
Canvas: Zeichnen Line mit BrushStyle
Hi,
kann man in Delphi breite Linien mit einem TBrushStyle füllen? Oder muss ich die Linie erst in ein Polygon wandeln? Aktuell erhalte ich nur gefüllte Linien.
Code:
Danke
try
MyCanvas.Brush.Style := TBrushStyle(StrToInt(MyPenStyle)) except MyCanvas.Brush.Style := TBrushStyle.bsSolid; end; MyCanvas.Brush.Color := MyPencolor; MyCanvas.Pen.Color := MyPencolor; MyCanvas.Pen.Width := (PixelWidth); MyCanvas.MoveTo(X1, Y1); MyCanvas.LineTo(X2, Y2); Jacks |
AW: Canvas: Zeichnen Line mit BrushStyle
Ja, das geht, Du musst nur ExtCreatePen verwenden, wie z.B. wie folgt:
Delphi-Quellcode:
const
FlatPenStyle = PS_GEOMETRIC or PS_DOT or coDefault_Endcap or PS_JOIN_MITER; var LogBrush: TLOGBRUSH; begin LogBrush.lbStyle := BS_SOLID; LogBrush.lbColor := clGray; LogBrush.lbHatch := 0; Canvas.Pen.Handle := ExtCreatePen(FlatPenStyle, 1, LogBrush, 0, nil); ... |
AW: Canvas: Zeichnen Line mit BrushStyle
Liste der Anhänge anzeigen (Anzahl: 1)
Danke,
erhalte nun folgendes Ergebnis Anhang 45763 Das verändern vom Brush Style funktioniert gut. Allerdings wird bei mir die Kante der Linie nicht mehr gezeichnet?
Code:
try LogBrush.lbStyle := BS_HATCHED; LogBrush.lbHatch := StrToInt(MyStyle); except LogBrush.lbStyle := BS_SOLID; end; LogBrush.lbColor := MyColor; MyCanvas.Pen.Handle := ExtCreatePen( PS_GEOMETRIC , MyWidth, LogBrush, 0, nil); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz