Maison >développement back-end >C++ >Comment puis-je dessiner efficacement sur une PictureBox en utilisant une méthode distincte en C# ?
Dessin C# PictureBox : techniques efficaces utilisant des méthodes indépendantes
Dans les applications de formulaires C#, vous pouvez dessiner des graphiques personnalisés sur le contrôle PictureBox. Cependant, les utilisateurs peuvent rencontrer des problèmes lorsqu'ils tentent de le faire via une méthode distincte.
Question :
Un utilisateur peut souhaiter créer une méthode pour dessiner facilement un cercle sur une PictureBox, mais constater que cette méthode ne produit pas les résultats escomptés. La méthode du problème initialise le bitmap, l'objet graphique et le pinceau utilisés pour dessiner le cercle. Cependant, lorsqu'il est appelé dans le gestionnaire d'événements Paint de PictureBox, il ne parvient pas à dessiner correctement le cercle.
Solution :
Pour utiliser efficacement des méthodes distinctes pour dessiner sur une PictureBox, il est important de préciser si l'objectif est de dessiner dans l'image affichée par la PictureBox, ou directement dans le contrôle lui-même.
Méthode 1 : Dessiner directement sur le champ
Pour dessiner directement sur le contrôle (sans affecter l'image), utilisez le gestionnaire d'événements Paint de PictureBox comme suit :
<code class="language-csharp">private void pictureBox2_Paint(object sender, PaintEventArgs e) { e.Graphics.DrawEllipse(Pens.Red, new Rectangle(3, 4, 44, 44)); }</code>
Dans ce cas, le dessin est persistant et le graphique est lié au champ, suite à tout redimensionnement ou mouvement du champ.
Méthode 2 : Dessiner dans l'image
Pour dessiner sur l'image affichée par PictureBox, créez une méthode distincte et dessinez à l'aide de l'objet Graphics obtenu à partir de la propriété Image de PictureBox.
<code class="language-csharp">void drawIntoImage() { using (Graphics G = Graphics.FromImage(pictureBox1.Image)) { G.DrawEllipse(Pens.Orange, new Rectangle(13, 14, 44, 44)); } pictureBox1.Refresh(); }</code>
Une fois le dessin terminé, appelez la méthode Refresh() de PictureBox pour mettre à jour l'affichage. Dans ce cas, la forme est persistante dans l'image et sera affectée par toute mise à l'échelle ou transformation de l'image.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!