2014-02-19 85 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。 将填充应用于面板。