Maison >développement back-end >C++ >Comment intégrer des méthodes de dessin personnalisées à l'événement Paint d'un PictureBox ?

Comment intégrer des méthodes de dessin personnalisées à l'événement Paint d'un PictureBox ?

Barbara Streisand
Barbara Streisandoriginal
2025-01-21 11:27:10326parcourir

How to Integrate Custom Drawing Methods with a PictureBox's Paint Event?

Intégrer des méthodes de dessin personnalisées dans l'événement Paint de PictureBox

Si vous disposez uniquement d'un contrôle PictureBox et prévoyez d'utiliser une méthode personnalisée pour dessiner des cercles, il est crucial de déterminer d'abord la surface de dessin cible. Vous souhaitez dessiner :

  • Dans une image PictureBox : Utilisez la propriété Image de PictureBox comme canevas de dessin.
  • Vers le contrôle PictureBox : Dessinez directement sur la surface du contrôle PictureBox.

Cas 1 : S'appuyer sur le contrôle

Pour dessiner directement sur le contrôle, vous pouvez utiliser le paramètre PaintEventArgs dans l'événement Paint du contrôle PictureBox. Par exemple :

<code class="language-csharp">private void PictureBox_Paint(object sender, PaintEventArgs e)
{
    // e.Graphics表示PictureBox控件的绘图表面
    e.Graphics.DrawEllipse(Pens.Red, new Rectangle(3, 4, 44, 44));
}</code>

Cas 2 : Dessiner en image

Vous pouvez également dessiner dans la propriété Image de PictureBox, ce qui permet des opérations de dessin plus complexes et persistantes.

<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(); // 刷新PictureBox显示
}</code>

Veuillez noter que le choix de la méthode de dessin dépend de vos besoins spécifiques et de la persistance souhaitée du dessin. Choisissez une méthode qui correspond à la fonctionnalité attendue.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn