在图像上绘制透明矩形

时间:2020-06-01 21:41:10

标签: c# image bitmap gdi+

我想在图像上创建一个覆盖层,类似于图片中的覆盖层。

创建半透明的封面很容易,我只是创建一个与图像大小相同的矩形,并为其设置较低的alpha值。

但是我如何获得透明的“切口”?再次绘制图像只会增加其Alpha值。我需要将其显式设置为零。

var image = picOriginal.Image;
var graphics = Graphics.FromImage(image);
var color = Color.FromArgb(200, Color.Black);
var brush = new SolidBrush(color);
var transparentColor = Color.Transparent;
var transparentBrush = new SolidBrush(transparentColor);
var rectangle = new Rectangle(Point.Empty, image.Size);
graphics.FillRectangle(brush, rectangle);
graphics.FillEllipse(transparentBrush, 100, 100, 100, 150);

var bitmap = new Bitmap(image);
picGenerated.Image = bitmap;

Overlay

0 个答案:

没有答案