2014-02-19 133 views
1

可以設置SizeMode Zoom和應用填充嗎?Picturebox,SizeMode縮放和填充

下面的工作:

ibPic2DLeft.SizeMode = PictureBoxSizeMode.Normal; 
    ibPic2DLeft.Padding = new Padding(100, 100, 50, 50); 

下將無法正常工作:

 ibPic2DLeft.SizeMode = PictureBoxSizeMode.Zoom; 
     ibPic2DLeft.Padding = new Padding(100, 100, 50, 50); 

什麼是與變焦兼容填充的替代品?

+0

你想在圖像的所有邊上有一些空間嗎?我有點不清楚你的問題 –

+0

我喜歡應用某種填充。這一點,我想申請什麼樣的填充並不重要。問題是,當尺寸模式設置爲放大 – Ben

+2

時,我無法應用任何類型的填充,那麼您可以更好地創建尺寸小於您的圖片框大小的縮略圖,然後將其設置爲正常模式。出於顯而易見的原因,您無法在縮放模式下設置填充。圖像將覆蓋圖片框的最佳部分。 –

回答

0

如果圖片尺寸小於圖片框的大小,您可以使用正常模式,當圖片尺寸大於圖片框時,您可以使用縮放模式。這是我過去爲我的應用程序解決方案找到的最好的動態方法。

Image oImg = yourImage; 

if ((oImg.Height > ibPic2DLeft.Height | oImg.Width > ibPic2DLeft.Width)) { 
    ibPic2DLeft.SizeMode = PictureBoxSizeMode.Normal; 
} else { 
    ibPic2DLeft.SizeMode = PictureBoxSizeMode.Zoom; 
} 
+0

這是一段很好的代碼,它可以工作,但它不是我的問題的答案。非常感謝你的努力;) – Ben

0

將圖片框放入面板中。 將PictureBox設置爲Dock = Fill。 設置PictureBox SizeMode = Zoom。 將填充應用於面板。