C# winform 限制图片大小
当Btimap赋值给image前,如果图片大小超过10kb就强行更改为10kb,尽量图片不失真。我是使用摄像头拍照,照出来的照片如果大于10kb,就压缩图片更改为10kb...
当Btimap 赋值给image前,如果图片大小超过10kb 就强行更改为10kb,尽量图片不失真。
我是使用摄像头拍照,照出来的照片如果大于10kb,就压缩图片更改为10kb。否则不修改 展开
我是使用摄像头拍照,照出来的照片如果大于10kb,就压缩图片更改为10kb。否则不修改 展开
2个回答
展开全部
判断上传文件的大小(字节)即可,超过规定值就用程序压缩或以提示形式让用户重新选择图片
如果是解像度的话,上传时先判断图片大小,超过就缩放到指定大小再录入数据库,没超过就录入即可。
判断解像度
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "图片文件|*.jpg";
if (ofd.ShowDialog() == DialogResult.OK)
{
Bitmap bmp = new Bitmap(ofd.FileName);
int w = bmp.Width;//宽
int h = bmp.Height;//高
FileInfo fi = new FileInfo(ofd.FileName);
long _size = fi.Length;//得到文件的字节大小
MessageBox.Show("图片宽" + w.ToString() + ",图片高" + h.ToString() + ",图片大小" + _size.ToString() + "字节");
}
}
根据得到的宽高,来限制缩小
if(w > 200 || h > 200)
{
//根据图片比例缩小后,存到一个内存变量中或存为文件即可。
}
根据文件大小
if(_size > 10240)//大于10K的话
{
MessageBox.Show("图片大小必须在10K以内");
}
以上回答你满意么?
如果是解像度的话,上传时先判断图片大小,超过就缩放到指定大小再录入数据库,没超过就录入即可。
判断解像度
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "图片文件|*.jpg";
if (ofd.ShowDialog() == DialogResult.OK)
{
Bitmap bmp = new Bitmap(ofd.FileName);
int w = bmp.Width;//宽
int h = bmp.Height;//高
FileInfo fi = new FileInfo(ofd.FileName);
long _size = fi.Length;//得到文件的字节大小
MessageBox.Show("图片宽" + w.ToString() + ",图片高" + h.ToString() + ",图片大小" + _size.ToString() + "字节");
}
}
根据得到的宽高,来限制缩小
if(w > 200 || h > 200)
{
//根据图片比例缩小后,存到一个内存变量中或存为文件即可。
}
根据文件大小
if(_size > 10240)//大于10K的话
{
MessageBox.Show("图片大小必须在10K以内");
}
以上回答你满意么?
追问
不是这种啊。请亲不要复制。我不是上传,是判断照片在赋值给控件的时候判断大小,如果超过就前行压缩到大小10kb。谢谢
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询