假設以編程方式我在兩個圖像之間進行比較。提取兩個圖像之間的差異後,假設我存儲在名爲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