2010-11-29 5 views
-1

Ich versuche einen Pfeil zu zeichnen, der eine Umrandung oder einen Umriss hat. Ich zeichne diesen Pfeil als ein Overlay innerhalb eines Drittanbieterprogramms. Hier ist ein vereinfachtes Beispiel für diesen Code. HierWie zeichnet man einen Pfeil mit einem Rand?

private void DrawWindArrow(Graphics Screen, int screenWidth, int screenHeight) 
     { 
      Trace.WriteLine("Entering...DrawWindArrow"); 
      NArrow.FontSize = 10; 
      NArrow.CenterText = 20; 
      NArrow.Scale = GetScale(NArrow.Size); 
      NArrow.Scale += 0.2f; 
      NArrow.CalculateArrowSize(NArrow.Scale); 
      NArrow.FontSize = ChangeFontSize(NArrow.Size); 
      NArrow.CoordinateX = GetXCoordinates(NArrow.Position, screenWidth); 
      NArrow.CoordinateY = GetYCoordinates(NArrow.Position, screenHeight); 
      NArrow.CenterText = CenterText(NArrow.Size, NArrow.CoordinateX); 
      NArrow.CalculateArrowProperties(); 
      NArrow.CenterOfArrowy = NArrow.CenterOfArrow + NArrow.CoordinateY; 
      NArrow.CenterOfArrow += NArrow.CoordinateX; 
     }  
    } 

ist ein Beispiel für den Pfeil Ich suche:

enter image description here

+1

Geez, ich bin dankbar WPF existiert jetzt, dass ich mir das anschaue. – casperOne

+0

quick side Frage, was ist der Punkt, um Ihre Mitglieder privat zu machen, wenn Sie öffentliche Getters und Setter für alle von ihnen haben? –

+0

@BenJones - Ich habe dieses Problem schon vor einiger Zeit gelöst. Ich habe nur versucht, die Frage zu verbessern. –

Antwort

1

Am Ende des Tages landete ich Redesign und Refactoring den Orignal-Code in seiner Gesamtheit. Am Ende habe ich einen kleineren Pfeil gezeichnet, der auf einem Verhältnis des ursprünglichen Pfeils basiert.

Am Ende konnte ich herausfinden, dass es keine einzige Sache gab, die ich tat, ich benutzte einfach einen anderen Ansatz.