[英]C# - Changing SizeMode of picturebox
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog open = new OpenFileDialog();
open.Filter = "Image Files(*.jpg; *.jpeg; *.gif; *.png; *.bmp)|*.jpg; *.jpeg; *.gif; *.png; *.bmp";
if(open.ShowDialog() == DialogResult.OK)
{
tbFileName.Text = open.FileName;
pictureBox1.Image = new Bitmap(open.FileName);
}
}
所以我想做一个if语句,如果图像对于图像框的初始大小来说太大(520,301),则将图像框的sizemode设置为autosize,否则就将其放入其中。
我很确定您可以使用以下方法进行更改:
picturebox1.SizeMode = PictureBoxSizeMode.AutoSize;
但是我不知道如何编写if语句。
只需将文件加载Bitmap
,然后将其“ Height
和“ Width
属性与我们的自定义大小(500 x 301)进行比较即可。 喜欢
...
tbFileName.Text = open.FileName;
using (Bitmap bmp = new Bitmap(open.FileName))
{
if (bmp.Height >= 301 && bmp.Width >= 500)
pictureBox1.SizeMode = PictureBoxSizeMode.AutoSize;
pictureBox1.Image = bmp;
}
您可以先将图像临时存储,然后再将其分配到图片框,然后将其大小与框的大小进行比较。
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog open = new OpenFileDialog();
open.Filter = "Image Files(*.jpg; *.jpeg; *.gif; *.png; *.bmp)|*.jpg; *.jpeg; *.gif; *.png; *.bmp";
if (open.ShowDialog() == DialogResult.OK)
{
Bitmap tmp = new Bitmap(open.FileName);
if(tmp.Height >= pictureBox1.Height || tmp.Width >= pictureBox1.Width)
pictureBox1.SizeMode = PictureBoxSizeMode.AutoSize;
pictureBox1.Image = tmp;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.