我有一个包含图片的PictureBox控件,它是C#语言中Windows窗体应用程序的一部分。我想在PictureBox的某个位置绘制一个FillRectangle,但我也需要看到PictureBox的图片。如何使用低透明度绘制矩形以便看到PictureBox的图片?
我有一个包含图片的PictureBox控件,它是C#语言中Windows窗体应用程序的一部分。我想在PictureBox的某个位置绘制一个FillRectangle,但我也需要看到PictureBox的图片。如何使用低透明度绘制矩形以便看到PictureBox的图片?
你的意思是:
using (Graphics g = Graphics.FromImage(pb.Image))
{
using(Brush brush = new SolidBrush(your_color))
{
g.FillRectangle(brush, x, y, width, height);
}
}
或者你可以使用
Brush brush = new SolidBrush(Color.FromArgb(alpha, red, green, blue))
alpha的取值范围是0到255,因此 alpha 值为128时,它对应的透明度为50%。
Graphics g = Graphics.FromImage(pictureBox1.Image);
g.FillRectangle(Brushes.Red, new Rectangle(10, 10, 200, 200))
pictureBox1.Refresh()
或者像 @Davide Parias 建议的那样,您可以使用 Paint 事件处理程序:
private void pictureBox_Paint(object sender, PaintEventArgs e)
{
e.Graphics.FillRectangle(Brushes.Red, new Rectangle(10, 10, 200, 200));
}