AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Kreis zeichnen mit gestrichelter Linie und Stärke mehr als 1
Thema durchsuchen
Ansicht
Themen-Optionen

Kreis zeichnen mit gestrichelter Linie und Stärke mehr als 1

Ein Thema von mtc · begonnen am 6. Mai 2009 · letzter Beitrag vom 17. Okt 2009
Antwort Antwort
Seite 1 von 2  1 2      
mtc

Registriert seit: 6. Mai 2009
5 Beiträge
 
#1

Kreis zeichnen mit gestrichelter Linie und Stärke mehr als 1

  Alt 6. Mai 2009, 20:03
Hallo liebe Gemeinde,

und zwar habe ich folgendes Problem.

Ich möchte einen Kreis zeichnen und die Umrandung soll gestrichelt sein.
Leider gibt es ja die Beschränkung, dass gestrichelt nur mit Linienstärke 1 gibt.

Kann man diese aufheben, weil ich benötige einen Linienstärke von mindesten 3.

Danke schonmal im Voraus.

Gruß,
MTC

[edit=SirThornberry]Titel korrigiert ("mehr als" oder "gleich wie" aber bitte nicht "mehr wie") Mfg, SirThornberry[/edit]
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Kreis zeichnen mit gestrichelter Linie und Stärke mehr w

  Alt 6. Mai 2009, 20:06
Hab jetzt kein Delphi da, aber... nimmste dir ein Canvas und stellst beim Pen, die Width (oder wie das heißt) auf 3, den Style auf psDash (glaub ich, schlag das einfach nach) und zeichnest ne Ellipse.

Achj aund. mehr _als_. "Wie" tut weh...
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
mtc

Registriert seit: 6. Mai 2009
5 Beiträge
 
#3

Re: Kreis zeichnen mit gestrichelter Linie und Stärke mehr a

  Alt 6. Mai 2009, 20:40
Und genau das macht Delphi nicht.

Denn sobald ich psDash einstelle, wird Width automatisch auf 1 gesetzt.

Gruß,
MTC
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#4

Re: Kreis zeichnen mit gestrichelter Linie und Stärke mehr a

  Alt 6. Mai 2009, 20:51
Selber schreiben

Mit der Funktion Arc() (iirc) die Striche zeichnen und entsprechende Lücken lassen
  Mit Zitat antworten Zitat
mr_emre_d
(Gast)

n/a Beiträge
 
#5

Re: Kreis zeichnen mit gestrichelter Linie und Stärke mehr a

  Alt 6. Mai 2009, 21:53
Ich habe nichts zu tun .. (langeweile):

Delphi-Quellcode:
procedure DashEllipse( ACanvas: TCanvas; const Center: TPoint;
  const Radius: Cardinal; const PenWidth: Byte = 1;
  const Distance: Byte = 4 );
var
  i, x: Integer;
begin
  X := (360 div Distance);
  with ACanvas do
  begin
    Pen.Width := PenWidth;
    for i := 0 to X do
      if i mod 2 = 0 then
        Arc(
          Center.X-Radius, Center.Y-Radius, Center.X+Radius, Center.Y+Radius,
          Center.X + Round( cos( i*Distance*PI/180)*Radius ) , Center.Y + Round( sin( i*Distance*PI/180)*Radius ),
          Center.X + Round( cos( (i*Distance-Distance)*PI/180)*Radius ) , Center.Y + Round( sin( (i*Distance-Distance)*PI/180)*Radius )
        );
  end;
end;
Beispielsaufruf:
Delphi-Quellcode:

procedure TForm1.FormPaint(Sender: TObject);
begin
  DashEllipse( Canvas, Point( 200, 120 ), 100, 3 );
end;
MfG
  Mit Zitat antworten Zitat
mtc

Registriert seit: 6. Mai 2009
5 Beiträge
 
#6

Re: Kreis zeichnen mit gestrichelter Linie und Stärke mehr a

  Alt 6. Mai 2009, 22:17
WOW,

echt vielen Dank und vor allem für das super Beispiel.
An das ARC hatte ich überhaupt nicht gedacht, weil ich zum ersten Mal etwas mit Canvas veranstalte.

Supi und Danke nochmal.

Gruß,
MTC
  Mit Zitat antworten Zitat
mr_emre_d
(Gast)

n/a Beiträge
 
#7

Re: Kreis zeichnen mit gestrichelter Linie und Stärke mehr a

  Alt 6. Mai 2009, 22:22
Büdde
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#8

Re: Kreis zeichnen mit gestrichelter Linie und Stärke mehr a

  Alt 6. Mai 2009, 22:36
Herzlich willkommen in der Delphi-PRAXiS, mtc!

Eine Alternative zu obigem Vorschlag wäre die Verwendung von geometric pens. Es gibt dazu auch ein Beispiel in der DP.

Gruß Hawkeye
  Mit Zitat antworten Zitat
mtc

Registriert seit: 6. Mai 2009
5 Beiträge
 
#9

Re: Kreis zeichnen mit gestrichelter Linie und Stärke mehr a

  Alt 6. Mai 2009, 22:40
Ich hab noch ein weiteres Problem.

Und zwar geht das Ganze auch für ein Polygon, welches zum Beispiel aus 10 Punkten besteht?

Ich muss nämlich mehrere Figuren zeichnen und die Strichstärke muss anpassbar sein.
Und zwar einmal in der Stärke (Width) und zum anderen in dem Style (gepunktet, gestrichelt).

Wäre echt super, wenn ihr mir da noch weiterhelfen könntet.

Danke und Gruß,
MTC
  Mit Zitat antworten Zitat
mr_emre_d
(Gast)

n/a Beiträge
 
#10

Re: Kreis zeichnen mit gestrichelter Linie und Stärke mehr a

  Alt 6. Mai 2009, 22:55
ein Polygon (TPolygon) ist nur ein Array aus Punkten (TPoint) -> Du müsstest in einer Schleife alle Punkte durchgehen und der Funktion (DashEllipse) als Center die einzelnen Punkte übergeben!

Versuchs mal selbst; anschließend helf ich dir!

MfG
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 21:24 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