winforms 绘制低不透明度的填充矩形

relj7zay  于 2022-11-25  发布在  其他
关注(0)|答案(2)|浏览(160)

我在C#语言的Windows窗体应用程序中有一个带图片的PictureBox。我想在PictureBox的某个位置绘制一个FillRectangle。但我还需要看到图片的图片box.how我可以用低不透明度绘制此矩形以查看PictureBox的图片吗?

c86crjj0

c86crjj01#

您的意思是:

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%的透明度。

mw3dktmi

mw3dktmi2#

您需要基于PictureBox图像创建一个Graphics对象,并在其上绘制所需的内容:

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));
}

相关问题