我需要能夠以下面的方式來比較兩個不同的圖像:疊加層 - 控制哪些部分是在與小鼠coursor前景
的圖像顯示在彼此的頂部,從而第一有隻有一個圖像可見。當鼠標懸停在圖像上方時,這定義了垂直線的X位置,該垂直線正在分割圖像,將第一個圖像的一部分顯示在行上,第二個圖像的其餘部分顯示在行的右邊。
這基本上應該用作具有相同內容的兩個圖像的質量比較。
這裏是一個圖片有希望使我的意圖明顯:
我需要能夠以下面的方式來比較兩個不同的圖像:疊加層 - 控制哪些部分是在與小鼠coursor前景
的圖像顯示在彼此的頂部,從而第一有隻有一個圖像可見。當鼠標懸停在圖像上方時,這定義了垂直線的X位置,該垂直線正在分割圖像,將第一個圖像的一部分顯示在行上,第二個圖像的其餘部分顯示在行的右邊。
這基本上應該用作具有相同內容的兩個圖像的質量比較。
這裏是一個圖片有希望使我的意圖明顯:
我能夠通過使用SplitContainer和自定義繪圖來解決此問題。正如Vasanthakumar的回答中所描述的,純粹使用圖片框的答案是不夠的,因爲您將無法在與左圖片相同的起點對齊右側圖片(表格左上角)。
我所做的是以下內容:
this.splitContainer1.SplitterMoved += new System.Windows.Forms.SplitterEventHandler(this.splitContainer1_SplitterMoved);
與所述圖像的一個自定義的子集是顯示。這有效地允許生成我需要的覆蓋。
我的實現顯示的T部分他繪製邏輯:
Bitmap bmp = new Bitmap(gImg2.Width, gImg2.Height);
using (Graphics g = Graphics.FromImage(bmp))
{
g.DrawImage(gImg2, 0, 0, new Rectangle(e.SplitX, 0, gImg2.Width - e.SplitX, gImg2.Height), GraphicsUnit.Pixel);
}
pictureBox2.Image = bmp;
可以使用分配器控制。分離器一邊你把一個圖片控制另一邊把其他圖片控制
感謝您的回答。我試圖用SplitContainer控件來實現這一點。但是,右側框中的圖像的起始位置在右側容器的左上角。所以基本上沒有覆蓋。 – leepfrog 2013-05-08 19:01:10