是的,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
(变暗)等,以满足你的需求。