2009-08-23 8 views
0

Je suis encore en train de simuler un radar (ou de tenter de le faire) et, par essais et erreurs, j'ai réussi à dessiner une tarte sur le fond de ma photo, couvrant plus ou moins la zone cible que je souhaite dessiner. Maintenant, j'essaie de faire de cette région ma région de découpage. Comment puis-je y parvenir? Je n'ai rien trouvé qui explique cela clairement. J'ai le code suivant:Comment utiliser une forme pour définir une zone de découpage?

void OnPaintRadar(Object sender, PaintEventArgs e) 
{ 
    Graphics g = e.Graphics; 
    Rectangle radar_rect = new Rectangle(myRadarBox.Left + 90, myRadarBox.Left + 18, myRadarBox.Width - 200, myRadarBox.Height + 200); 
    using (Pen drw_pen = new Pen(Color.White, 1)) 
    { 
     g.DrawPie(drw_pen,radar_rect, 180, 180); 
    } 
} 

ce que je veux faire est maintenant faire la tarte e que je viens attiré mon domaine de la coupe.

Répondre

1

Vous ne pouvez pas utiliser la tarte que vous avez dessiné sur les graphiques, vous devez définir séparément pour la région:

GraphicsPath gpath new GraphicsPath(); 
gpath.AddPie(rect, startAngle, sweepAngle); 
gpath.CloseFigure(); 
this.Region = new Region(gpath); 
+0

Merci beaucoup –

+0

j'ai encore un problème en ajoutant mon image dans la région . J'ai une petite photo que j'utilise pour représenter un objet; utiliser g.DrawImage remplit toute la région avec la photo qui n'est pas le résultat que je voulais et g.DrawImageUnscaled ne montre rien. –

Questions connexes