我有两个图像彼此层叠,并且希望能够清除顶部图像的一部分。通常,如果我想清除图像的一部分,我只需将其绘制为背景颜色即可
g.FillRectangle(Brushes.White,x,y,width,height);
Run Code Online (Sandbox Code Playgroud)
但如果我在顶部图像上这样做,底部图像的区域就会被白色矩形覆盖。我尝试做
g.FillRectangle(Brushes.Transparent,x,y,width,height);
Run Code Online (Sandbox Code Playgroud)
但这似乎并没有清除之前所有内容的区域。有什么方法可以使该区域中的像素透明吗?
小智 5
//using System.Drawing.Drawing2D;
g.FillRectangle(Brushes.White,x,y,width,height);
g.CompositingMode = CompositingMode.SourceCopy;
g.FillRectangle(Brushes.Transparent,x,y,width,height);
Run Code Online (Sandbox Code Playgroud)