Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Kreis in Vier teile einteilen ? (https://www.delphipraxis.net/93729-kreis-vier-teile-einteilen.html)

mimi 11. Jun 2007 19:08

Re: Kreis in Vier teile einteilen ?
 
eigentlich ja, und was ist mit der höhe ?
muss ich als erstes schreibe
DMesser:=right-left div 2 ?

bitsetter 11. Jun 2007 19:37

Re: Kreis in Vier teile einteilen ?
 
Zitat:

Zitat von mimi
und was ist mit der höhe ?

Was hast du denn vor?
Ein Kreis hat nur einen Durchmesser oder meinst du eine Ellipse?
Zitat:

Zitat von mimi
DMesser:=right-left div 2 ?

Wie der Durchmesser berechnet wird habe ich doch schon geschrieben oder funktioniert das so nicht?

DeddyH meinte du hättest den Durchmesser mit Hilfe des Radius berechnen können.
Delphi-Quellcode:
Durchmesser = Radius * 2

mimi 11. Jun 2007 20:49

Re: Kreis in Vier teile einteilen ?
 
das Problem ist, wie kann ich das hier am besten einbauen ?

Delphi-Quellcode:
procedure Kreis4Farben(cav: TCanvas; iLeft, iTop, iw, ih: integer);
var
  Halb,DMesser: integer;
begin
  Halb := DMesser div 2;
  with cav do
  begin
   // cav.Ellipse(iLeft, iTop, iLeft + DMesser, iTop+DMesser);
//    Brush.Color := clSilver;
  //  FloodFill(iLeft + Halb, iTop + Halb, Pen.Color, fsBorder);

    Pen.Color := clRed;
    Arc(iLeft, iTop, iLeft + DMesser, iTop + DMesser, iLeft + DMesser, iTop + Halb, iLeft + Halb, iTop);

    Pen.Color := clYellow;
    Arc(iLeft, iTop, iLeft + DMesser, iTop + DMesser, iLeft + Halb, iTop, iLeft, iTop + Halb);

    Pen.Color := clGreen;
    Arc(iLeft, iTop, iLeft + DMesser, iTop + DMesser, iLeft, iTop + Halb,iLeft + Halb, iTop + DMesser);

    Pen.Color := clAqua;
    Arc(iLeft, iTop, iLeft + DMesser, iTop + DMesser, iLeft + Halb, iTop + DMesser, iLeft + DMesser, iTop + Halb);
  end;
end;
leider hatte ich mit Kreisen bisher wenig zu tun, darum fällt, mir das auch so schwer.

Mein Ziel ist es eine Procedure zu haben die genau wie FillRect auf gerufen werden kann.
mit einem TRect oder halt so wie ich es jetzt oben gemacht habe.

Letztendlich ist es egal ob es ein Kreis oder eine Ellipse ist,
Das sollen die Eckpunkte angeben.

Nochmals vielen Dank für eure gedult.

bitsetter 12. Jun 2007 00:32

Re: Kreis in Vier teile einteilen ?
 
Delphi-Quellcode:
procedure Ellipse4Farben(cav: TCanvas; iLeft, iTop, iW, iH: integer);
var
  iHalbW, iHalbH : integer;
begin
  iHalbW := iW div 2;
  iHalbH := iH div 2;
  with cav do
  begin
    Brush.Color := clSilver;
    Ellipse(iLeft, iTop, iLeft + iW, iTop+ iH);

    Pen.Color := clRed;
    Arc(iLeft, iTop, iLeft + iW, iTop + iH, iLeft + iW, iTop + iHalbH, iLeft + iHalbW, iTop);

    Pen.Color := clYellow;
    Arc(iLeft, iTop, iLeft + iW, iTop + iH, iLeft + iHalbW, iTop, iLeft, iTop + iHalbH);

    Pen.Color := clGreen;
    Arc(iLeft, iTop, iLeft + iW, iTop + iH, iLeft, iTop + iHalbH, iLeft + iHalbW, iTop + iH);

    Pen.Color := clAqua;
    Arc(iLeft, iTop, iLeft + iW, iTop + iH, iLeft + iHalbW, iTop + iH, iLeft + iW, iTop + iHalbH);
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Ellipse4Farben(image1.Canvas, 33, 50, 121, 81);
end;
Das Ganze jetzt mit einer Ellipse.

mimi 12. Jun 2007 15:03

Re: Kreis in Vier teile einteilen ?
 
Liste der Anhänge anzeigen (Anzahl: 1)
BESTEN DANK, genau was ich wollte !
im Anhang ist ein bild wofür ich es gebraucht habe.

Gibt es evlt. ein Tutorial darüber ?

Edit: Das währe doch was für die Tipp Sammlung oder ?

mimi 1. Mai 2012 14:45

AW: Kreis in Vier teile einteilen ?
 
Habe gerade diesen Hilfereichen Code gefunden... wäre das nicht was für die Code-Lib?
Schön einfach, zu verwenden.

Sir Rufo 1. Mai 2012 21:47

AW: Kreis in Vier teile einteilen ?
 
Zitat:

Zitat von mimi (Beitrag 1164397)
Habe gerade diesen Hilfereichen Code gefunden...

gerade gefunden? :gruebel: 2007 hattest du den auch schon gefunden ... oder wie jetzt?
Zitat:

Zitat von mimi (Beitrag 1164397)
wäre das nicht was für die Code-Lib?
Schön einfach, zu verwenden.

Ehrlich gesagt, nö, nix für die Code-Lib


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:15 Uhr.
Seite 3 von 3     123   

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