AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Canvas: Zeichnen Line mit BrushStyle
Thema durchsuchen
Ansicht
Themen-Optionen

Canvas: Zeichnen Line mit BrushStyle

Ein Thema von Jacks · begonnen am 1. Sep 2016 · letzter Beitrag vom 1. Sep 2016
Antwort Antwort
Jacks

Registriert seit: 7. Mär 2016
14 Beiträge
 
#1

Canvas: Zeichnen Line mit BrushStyle

  Alt 1. Sep 2016, 10:13
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:
  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);
Danke
Jacks
  Mit Zitat antworten Zitat
rwalper

Registriert seit: 6. Sep 2006
45 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Canvas: Zeichnen Line mit BrushStyle

  Alt 1. Sep 2016, 10:25
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);
  ...
  Mit Zitat antworten Zitat
Jacks

Registriert seit: 7. Mär 2016
14 Beiträge
 
#3

AW: Canvas: Zeichnen Line mit BrushStyle

  Alt 1. Sep 2016, 14:07
Danke,

erhalte nun folgendes Ergebnis
capture.png

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);
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz