我有2张图片,
Image.FromFile("images/1.png");
Image.FromFile("images/2.png");
我想重叠这些图像并构建一个新图像我该怎么做?
由于
答案 0 :(得分:1)
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);
}
如果您不想缩放或翻译任何一张图片,这是最简单的方法。结果将存储在image1中。您还可以创建新图像来执行此操作,偏移图像,缩放图像,更改透明度等。
答案 1 :(得分:0)
嗯,这取决于你正在寻找什么类型的效果,但你没有给我们太多的信息,所以你可以从一个简单的添加剂例程开始。循环遍历两个图像的共享区域中的每个像素,并将像素组件值加在一起,最大限度地钳位以避免溢出(假设每个组件有一个字节,可能为255)。
您可以使用GDI +位图方法GetPixel
和SetPixel
执行此操作,或者如果证明太慢,您可以调用LockBits
并直接获取内存中的图像数据。< / p>