问题描述
任务过程中需要从本地选择图片并展示,同时限制图片大小在100KB之内
问题解决
使用文件选择器OpenFileDialog,设置只允许选择图片,判断回传,然后再使用FileInfo获取图片的长度Length,此时获取到的还是字节,需要 /1024 才能得到KB,具体代码如下:
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.Filter = "Image Files(*.BMP;*.JPG;)|*.BMP;*.JPG;";
openFileDialog.Multiselect = false //设置文件多选或单选,true为多选
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
FileInfo fileInfo = new FileInfo(openFileDialog.FileName); //using System.IO;
if(fileInfo.Length /1024.0 > 100)
{
MessageBox.Show("Picture larger than 100KB,please choose another one");
return;
}
T_photo.Text = openFileDialog.FileName;
P_box.Image = Image.FromFile(openFileDialog.FileName);//图片地址传给PictrueBox控件
}
}
大致就是这个流程