C# Graphics 绘制图片:保持图片在最上层不被覆盖
可以使用 Graphics 的 DrawImage 方法绘制图片,并在绘制之前设置图片的透明度和混合模式,来让图片在最上层显示。
以下是一个示例代码:
using System.Drawing;
using System.Drawing.Drawing2D;
// 加载图片
Image image = Image.FromFile('image.jpg');
// 创建 Graphics 对象
Graphics g = this.CreateGraphics();
// 设置透明度和混合模式
g.CompositingMode = CompositingMode.SourceOver;
g.CompositingQuality = CompositingQuality.HighQuality;
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
g.SmoothingMode = SmoothingMode.HighQuality;
g.PixelOffsetMode = PixelOffsetMode.HighQuality;
// 绘制图片
g.DrawImage(image, new Rectangle(0, 0, this.Width, this.Height));
在绘制图片之前,我们设置了 Graphics 对象的 CompositingMode 为 SourceOver,这表示新绘制的图形会在原有图形的上层绘制。同时,我们还设置了 CompositingQuality、InterpolationMode、SmoothingMode 和 PixelOffsetMode 等属性,以保证绘制的图片质量和效果。
这样就可以让图片在最上层显示,并且不会被后面绘制的图片覆盖。
原文地址: http://www.cveoy.top/t/topic/osx9 著作权归作者所有。请勿转载和采集!