手机
当前位置:查字典教程网 >编程开发 >asp.net教程 >asp.net 图片超过指定大小后等比例压缩图片的方法
asp.net 图片超过指定大小后等比例压缩图片的方法
摘要:复制代码代码如下://////压缩图片//////publicstringResizePic(){#region压缩图片开始boolIsIm...

复制代码 代码如下:

/// <summary>

/// 压缩图片

/// </summary>

/// <returns></returns>

public string ResizePic()

{

#region 压缩图片开始

bool IsImgFile = true; //判断是否为图片文件

string filePathName = "123"; //文件存储的路径(文件夹名称)

string fileName = "a.jpg"; //上传文件的原始名称

string fileSysName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "_" + fileName; //修改后的文件名称

string filePath = ""; //文件路径

string strImgPath = "/fileupload/"; //上传路径

if (IsImgFile)

{

int maxWidth = 600; //图片宽度最大限制

int maxHeight = 400; //图片高度最大限制

System.Drawing.Image imgPhoto =

System.Drawing.Image.FromFile(Server.MapPath(strImgPath) + filePathName + "/" + fileSysName);

int imgWidth = imgPhoto.Width;

int imgHeight = imgPhoto.Height;

if (imgWidth > imgHeight) //如果宽度超过高度以宽度为准来压缩

{

if (imgWidth > maxWidth) //如果图片宽度超过限制

{

float toImgWidth = maxWidth; //图片压缩后的宽度

float toImgHeight = imgHeight / (float)(imgWidth / toImgWidth); //图片压缩后的高度

System.Drawing.Bitmap img = new System.Drawing.Bitmap(imgPhoto,

int.Parse(toImgWidth.ToString()),

int.Parse(toImgHeight.ToString()));

string strResizePicName = Server.MapPath(strImgPath) + filePathName + "/_small_" + fileSysName;

img.Save(strResizePicName); //保存压缩后的图片

filePath = strImgPath + filePathName + "/_small_" + fileSysName; //返回压缩后的图片路径

}

}

else

{

if (imgHeight > maxHeight)

{

float toImgHeight1 = maxHeight;

float toImgWidth1 = imgWidth / (float)(imgHeight / toImgHeight1);

System.Drawing.Bitmap img = new System.Drawing.Bitmap(imgPhoto,

int.Parse(toImgWidth1.ToString()),

int.Parse(toImgHeight1.ToString()));

string strResizePicName = Server.MapPath(strImgPath) + filePathName + "/_small_" + fileSysName;

img.Save(strResizePicName);

filePath = strImgPath + filePathName + "/_small_" + fileSysName;

}

}

}

return filePath;

#endregion

}

【asp.net 图片超过指定大小后等比例压缩图片的方法】相关文章:

ASP.Net下载大文件的实现方法

asp.net图片上传生成缩略图的注意事项

动态改变ASP.net页面标题和动态指定页面样式表的方法

asp.net 文件上传实例汇总

asp.net发邮件的几种方法汇总

asp.net aspnetpager分页统计时与实际不符的解决办法

asp.net网站首页根据IP自动跳转指定页面的示例

把某个asp.net 控件替换成自定义控件的方法

引用全局程序集缓存内的程序集的方法

asp.net水晶报表参数字段在代码中赋值的方法

精品推荐
分类导航