假设以编程方式我在两个图像之间进行比较。提取两个图像之间的差异后,假设我存储在名为BMP3需要帮助合并一个图像与另一个图像
我有一个代码从其他网站,显示了如何合并与第一图像的差异另一个位图变量的差异。
假设我有两个名为bmp1 & bmp2的位图变量。我编程提取两个变量之间的差异,称为bmp1 & bmp2并将其存储在bmp3变量中。
现在我想合并与bmp1变量的差异只是在相同的位置。所以我从一个网站获得代码并且工作正常,但是我对该代码的几行内容感到困惑。
下面是代码:
Bitmap bComb = new Bitmap(bmp3.Width, bmp3.Height);
using (Graphics g = Graphics.FromImage(bComb))
{
g.DrawImage(this.pictureBox1.Image, 0, 0, bComb.Width, bComb.Height);
g.DrawImage(bmp3, 0, 0, bComb.Width, bComb.Height);
}
this.pictureBox4.Image = bComb;
此行的意义是
Bitmap bComb = new Bitmap(bmp3.Width, bmp3.Height);
工商管理学士学位是新的变量,这将有BMP3的相同尺寸.......我说的对?
该行的含义g.DrawImage(this.pictureBox1.Image,0,0,bComb.Width,bComb.Height); ?
我们正在写picbox1内容到bcom变量从0,0坐标....我是对吗?
再次,我们正在写bmp3内容到bcom变量从0,0坐标再次....我是对吗?
这最后一行对我造成困惑。为什么我们把bmp3变量的内容写成bcom变量,从0,0再次坐标....我是对吗?
如果我们再次从0,0坐标写入到bcom变量,那么图片应该彼此重叠,但输出是正确的。它如何成为可能。
我需要你的帮助来理解那些情侣。所以请详细讨论这些线,为什么总是使用0,0坐标。请帮我理解代码。由于
很好地解释了,但是点3,4并不清楚,很明显,代码在bcom变量上绘制图像,第一次从0,0坐标清晰,但下一行再次从0,0绘制图像?如果我们在另一幅图像上绘制一幅图像,则应该隐藏第一幅图像,但在我的情况下,输出结果是正确的。 – Mou
我猜image1和diff图像有相同的宽度,diff图像有很多透明像素。如果是这种情况,那么可以一个接一个地写入两个图像,并将图像合并为第一图像。我对吗 ? – Mou
点有任何内置的gdi函数可以告诉我两个图像是否相同?也应该是第一个足够的例程。 plzz指南。 – Mou