AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Canvas-Pen zeichnet abgerundete Linien

Ein Thema von Tubos · begonnen am 11. Mai 2004 · letzter Beitrag vom 18. Apr 2021
Antwort Antwort
Tubos

Registriert seit: 25. Feb 2004
Ort: Yspertal (Niederösterreich)
1.014 Beiträge
 
Delphi 7 Personal
 
#1

Canvas-Pen zeichnet abgerundete Linien

  Alt 11. Mai 2004, 17:09
Hallo!

Wenn ich mit canvas.lineto eine Linie zeichnet, wird die automatisch abgerundet.
Ich will aber eckige Kreuze in meinem Prog haben.
Ich habe keine Eigenschaft von Pen gefunden, wo man die Pinselform einstellen kann.
Wie geht das?
Angehängte Grafiken
Dateityp: jpg kreuz.jpg (106,3 KB, 32x aufgerufen)
Lukas
  Mit Zitat antworten Zitat
neolithos

Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
 
Delphi 7 Architect
 
#2

Re: Canvas-Pen zeichnet abgerundete Linien

  Alt 11. Mai 2004, 18:33
Man könnte auch Vierecke malen.
- ciao neo -
Es gibt niemals dumme Fragen, sondern nur dumme Antworten!
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Canvas-Pen zeichnet abgerundete Linien

  Alt 11. Mai 2004, 18:41
einfach mit fillrect die beiden Streifen übereinander malen..
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#4

Re: Canvas-Pen zeichnet abgerundete Linien

  Alt 11. Mai 2004, 18:56
Es muss auch mit Linien gehen.
Wie die Linienenden gemalt werden ist irgendwo einstellbar.
Ich weiss bloss nicht mehr wie die Win32-Funktion dazu heisst.
Quael mal die Win32-Hilfe.
  Mit Zitat antworten Zitat
Tubos

Registriert seit: 25. Feb 2004
Ort: Yspertal (Niederösterreich)
1.014 Beiträge
 
Delphi 7 Personal
 
#5

Re: Canvas-Pen zeichnet abgerundete Linien

  Alt 11. Mai 2004, 21:04
Ich möchte wirklich keine Rechtecke zeichnen, vor allem weil ich dann z.B. auf die komfortable Einstellung der Linienbreite verzichten müsste.
Und wenn das ganze dicker und schief ist, wird sowieso mathematisch

Danke für den Tip mit der API-Funktion!

Hab im winsdk nachgeschaut.
Der Befehl heißt ExtCreatePen und die Syntax ist:

HPEN ExtCreatePen(
DWORD dwPenStyle, // pen style
DWORD dwWidth, // pen width
CONST LOGBRUSH *lplb, // pointer to structure for brush attributes
DWORD dwStyleCount, // length of array containing custom style bits
CONST DWORD *lpStyle // optional array of custom style bits
);

Bei dwPenStyle ist die gesuchte Eigenschaft drinnen:
End cap Description
PS_ENDCAP_ROUND End caps are round.
PS_ENDCAP_SQUARE End caps are square.
PS_ENDCAP_FLAT End caps are flat.

Wie setze ich das in Delphi um?
lplb wird doch nicht TPen entsprechen, oder?
das wäre ja irgendwie zu einfach
Lukas
  Mit Zitat antworten Zitat
Niko

Registriert seit: 23. Jun 2003
416 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Canvas-Pen zeichnet abgerundete Linien

  Alt 11. Mai 2004, 21:25
Delphi-Quellcode:
var
  Brush: LOGBRUSH;

// ...

Brush.lbStyle := BS_SOLID;
Brush.lbColor := RGB(0, 0, 0);
h := SelectObject(Canvas.Handle, ExtCreatePen(PS_GEOMETRIC or PS_SOLID or PS_ENDCAP_FLAT or PS_JOIN_MITER, 1, @Brush, 0, nil));
// Linien zeichnen
DeleteObject(SelectObject(Canvas.Handle, h));
"Electricity is actually made up of extremely tiny particles called electrons, that you cannot see with the naked eye unless you have been drinking." (Dave Barry)
  Mit Zitat antworten Zitat
e-gon

Registriert seit: 7. Jul 2003
Ort: Stuttgart
156 Beiträge
 
Delphi 6 Enterprise
 
#7

AW: Canvas-Pen zeichnet abgerundete Linien

  Alt 18. Apr 2021, 16:14
Hallo Niko,

genau nach sowas habe ich gesucht. Danke!

Gruß
e-gon
  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 05:31 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