C#如何重叠图像

本文关键字:重叠 图像 何重叠 | 更新日期: 2023-09-27 17:50:20

可能重复:
如何将两个图像合并为一个Jpeg

我有两张图像,

Image.FromFile("images/1.png");
Image.FromFile("images/2.png");

我想重叠这些图像并构建一个新的图像,我该怎么做?

感谢

C#如何重叠图像

Image image1 = Image.FromFile("images/1.png");
Image image2 = Image.FromFile("images/2.png");
using(Graphics g = Graphics.FromImage(image1)) {
     g.DrawImageUnscaled(image2, 0, 0);
}

如果你不想缩放或平移任何一个图像,这是最简单的方法。结果将存储在图像1中。您还可以创建一个新的图像来完成此操作,偏移图像、缩放图像、更改透明度等

好吧,这取决于你想要的效果类型,但你没有给我们太多信息,所以你可以从一个简单的加法例程开始。循环遍历两个图像共享区域中的每个像素,并将像素分量值相加,最大值箝位以避免溢出(假设每个分量只有一个字节,则可能为255(。

您可以使用GDI+位图方法GetPixelSetPixel来执行此操作,或者如果速度太慢,您可以调用LockBits并直接获取内存中的图像数据。