我在C#语言的Windows窗体应用程序中有一个带图片的PictureBox。我想在PictureBox的某个位置绘制一个FillRectangle。但我还需要看到图片的图片box.how我可以用低不透明度绘制此矩形以查看PictureBox的图片吗?
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%的透明度。
mw3dktmi2#
您需要基于PictureBox图像创建一个Graphics对象,并在其上绘制所需的内容:
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)); }
2条答案
按热度按时间c86crjj01#
您的意思是:
也可以使用
其中,alpha 从0到255,因此alpha值为128将为您提供50%的透明度。
mw3dktmi2#
您需要基于
PictureBox
图像创建一个Graphics
对象,并在其上绘制所需的内容:或者按照@Davide Parias的建议,您可以使用Paint事件处理程序: