假设我以编程方式在两个图像之间进行比较。提取两个图像之间的差异后,假设我将差异存储在另一个名为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);
bcom 是新变量,它的大小与 bmp3 相同......我说的对吗?
这一行的含义 g.DrawImage(this.pictureBox1.Image, 0, 0, bComb.Width, bComb.Height); ?
我们正在将 picbox1 内容从 0,0 坐标写入 bcom 变量……对吗?
我们再次将 bmp3 内容从 0,0 坐标写入 bcom 变量....我说得对吗?
最后一行让我感到困惑。为什么我们再次将 bmp3 变量内容从 0,0 坐标写入 bcom 变量....对吗?
如果我们再次从 0,0 坐标写入 bcom 变量,那么 pic 应该彼此重叠,但输出正确。这是怎么可能的。
我需要你的帮助来理解这几行。所以请详细讨论这些线以及为什么总是使用 0,0 坐标。请帮助我理解代码。谢谢