J'ai une PictureBox avec une image dans une application Windows Form en langage C #. Je veux dessiner un FillRectangle à un endroit de la boîte à images.Mais j'ai également besoin de voir l'image de la boîte à images.Comment puis-je dessiner ce rectangle avec faible opacité pour voir l'image de la Picturebox?
Tu veux dire:
using (Graphics g = Graphics.FromImage(pb.Image))
{
using(Brush brush = new SolidBrush(your_color))
{
g.FillRectangle(brush , x, y, width, height);
}
}
ou vous pouvez utiliser
Brush brush = new SolidBrush(Color.FromArgb(alpha, red, green, blue))
où alpha va de 0 à 255, donc une valeur de 128 pour votre alpha vous donnera 50% d'opacité.
Vous devez créer un objet Graphics
basé sur votre image PictureBox
et dessiner ce que vous voulez dessus:
Graphics g = Graphics.FromImage(pictureBox1.Image);
g.FillRectangle(Brushes.Red, new Rectangle(10, 10, 200, 200))
pictureBox1.Refresh()
Ou comme suggéré par @Davide Parias, vous pouvez utiliser le gestionnaire d'événements Paint:
private void pictureBox_Paint(object sender, PaintEventArgs e)
{
e.Graphics.FillRectangle(Brushes.Red, new Rectangle(10, 10, 200, 200));
}