是的,C# 的 System.Drawing
命名空间中的 DrawImage
方法可以实现图像混合。你可以通过设置 Graphics
对象的 CompositingMode
和 CompositingQuality
属性来实现不同的图像混合模式。
以下是一个简单的示例,展示了如何使用 DrawImage
方法将两张图片混合在一起:
using System; using System.Drawing; using System.Drawing.Imaging; class Program { static void Main() { // 创建两个图像对象 Image image1 = Image.FromFile("image1.png"); Image image2 = Image.FromFile("image2.png"); // 创建一个新的画布对象 using (Bitmap canvas = new Bitmap(image1.Width, image1.Height)) { // 创建一个 Graphics 对象 using (Graphics graphics = Graphics.FromImage(canvas)) { // 设置图像混合模式为 "Multiply" graphics.CompositingMode = CompositingMode.Multiply; // 绘制第一张图片 graphics.DrawImage(image1, 0, 0); // 绘制第二张图片 graphics.DrawImage(image2, image1.Width, 0); // 保存混合后的图像 canvas.Save("mixed_image.png", ImageFormat.Png); } } } }
在这个示例中,我们使用了 “Multiply”(乘法)混合模式,将两张图片的颜色值相乘。你还可以尝试其他混合模式,如 Overlay
(覆盖)、Screen
(屏幕)、Darken
(变暗)等,以满足你的需求。