调整PictureBox中的图像大小,直到它与原始图像的大小相同

时间:2016-07-15 05:28:30

标签: c# .net winforms picturebox

我希望PictureBox中的图像会根据窗口的大小自动调整,但不要大于原始图像。虽然PictureBoxSizeMode.Zoom几乎可以做到这一点,但当PictureBox大于图像时,它会使图像像素化。我目前正在调整大小时执行此代码:

if (pBox.Height * pBox.Height < pBox.Image.Width * pBox.Image.Height) pBox.SizeMode = PictureBoxSizeMode.Zoom;
else pBox.SizeMode = PictureBoxSizeMode.CenterImage;

虽然大部分时间都可以使用,但偶尔图像也不会恢复缩放:

image still on 'CenterImage' full image

有什么更好的方法可以解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

如何将最大尺寸设置为图像尺寸:

pictureBox1.MaximumSize = pictureBox1.Image.Size;

结合:

pictureBox1.SizeMode = PictureBoxSizeMode.Zoom;

答案 1 :(得分:0)

你应该使用“if(pBox.Width * pBox.Height&lt; pBox.Image.Width * pBox.Image.Height)”if()Statement。 pBox的两个维度都被视为高度,可能会引起一些问题。检查

相关问题