繁体   English   中英

调整PictureBox的宽度并保持宽高比

[英]Resize PictureBox width and keep aspect ratio

我正在将图像动态加载到具有所有默认值且大小不正确的PictureBox person_img 我希望能够动态地进行大小调整,以便所有图像都是people_popup_tab宽度的1/3。

我尝试了很多方法,包括类似问题的答案。 我的最后一次尝试是加载图像并将SizeMode设置为AutoSize,以便首先以完整尺寸呈现该图像,然后以这种方式获取其宽度和高度。 然后,我将使用此宽度和高度来知道如何按比例缩小图像。

但是图像仍然呈现出所有的不祥。 有些现在根本不出现。

在此处输入图片说明

如何在不损失纵横比的情况下将图像调整为people_popup_tab宽度的1/3?

我当前的代码:

person_img.SizeMode = PictureBoxSizeMode.AutoSize;
person_img.Load(thisFaculty.imagePath);
int oldWidth = person_img.Width; 
int oldHeight = person_img.Height;
int newWidth = people_popup_tab.Width / 3;
int newHeight = oldHeight * (newWidth / oldWidth);
person_img.SizeMode = PictureBoxSizeMode.StretchImage;
person_img.Width = newWidth;
person_img.Height = newHeight;

首先将图像加载到Bitmap类,然后使用图像的实际尺寸调整图片框的大小。 类似于下面的代码

var bmp = new Bitmap(imageFile);
pictureBox1.Width = bmp.Width / 3;
pictureBox1.Height = bmp.Height / 3;
pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
pictureBox1.Image = bmp;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM