Einzelnen Beitrag anzeigen

MiniMax

Registriert seit: 15. Dez 2009
Ort: Bremen
193 Beiträge
 
Delphi 2009 Architect
 
#9

Re: Linie 90° zu schräger Linie

  Alt 15. Feb 2010, 16:15
also ich habe jetzt eine nicht so elegante Lösung genommen:

Delphi-Quellcode:
with Form1.Horizont.canvas do begin
  begin
  brush.color:=$00004080;
  pen.color:=$00004080;
  MoveTo(0,Form1.Horizont.height);
  LineTo(Form1.Horizont.width,Form1.Horizont.height);

  Radius:= Form1.Horizont.width;
  Winkel:= DegToRad(Wert1111);
  yyy:=(Form1.Horizont.height div 2) - sin(Winkel)* Radius;
  xxx:=(Form1.Horizont.width div 2) + cos(Winkel)* Radius;
  MoveTo(Round(XXX),Round(YYY));
  LineTo((Form1.Horizont.width div 2),(Form1.Horizont.width div 2));
  yyy:=(Form1.Horizont.height div 2) - sin(Winkel-degtorad(180))* Radius;
  xxx:=(Form1.Horizont.width div 2) + cos(Winkel-degtorad(180))* Radius;
  LineTo(Round(XXX),Round(YYY));
  FloodFill(5,440,$00004080,fsborder);

  Pen.color:= clblue;
  brush.color:= clblue;
  Radius:= Form1.Horizont.width;
  Winkel:= DegToRad(Wert1111);
  yyy:=(Form1.Horizont.height div 2) - sin(Winkel)* Radius;
  xxx:=(Form1.Horizont.width div 2) + cos(Winkel)* Radius;
  MoveTo(Round(XXX),Round(YYY));
  LineTo((Form1.Horizont.width div 2),(Form1.Horizont.width div 2));
  yyy:=(Form1.Horizont.height div 2) - sin(Winkel-degtorad(180))* Radius;
  xxx:=(Form1.Horizont.width div 2) + cos(Winkel-degtorad(180))* Radius;
  LineTo(Round(XXX),Round(YYY));
  FloodFill(0,0,clblue,fsBorder);
Nur das Floodfill funktioniert net so wie es soll --> Wenn ich einen Winkel = 45° einegbe ist eine Hälfte Braun und die Andere weiß und bei > 45° wird die Braune Hälfte blau - ich weis nicht was los ist ?? Könnt ihr mir einen Tipp geben?
Gruß
MiniMax
  Mit Zitat antworten Zitat