2010-11-29 3 views
-1

J'essaie de dessiner une flèche qui a une bordure ou un contour. Je dessine cette flèche en superposition dans un programme tiers. Voici un exemple simplifié de ce code.Comment dessiner une flèche avec une bordure?

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; 
     }  
    } 

Voici un exemple de la flèche Je cherche:

enter image description here

+1

Bon sang, je suis reconnaissant WPF existe maintenant que je regarde ça. – casperOne

+0

question rapide, quel est le point de rendre vos membres privés si vous avez des getters publics et setters pour chacun d'eux? –

+0

@BenJones - J'ai déjà résolu ce problème il y a quelque temps. J'essayais juste d'améliorer la question. –

Répondre

1

A la fin de la journée, je fini par redessiner et refactorisation le code Orignal dans son intégralité. Ce que j'ai fini par faire était dessiner une plus petite flèche basée sur un rapport de la flèche originale. En fin de compte, j'ai été capable de comprendre, il n'y avait pas une seule chose que j'ai faite, j'ai simplement utilisé une approche différente.

Questions connexes