asp.net 图片超过指定大小后等比例压缩图片的方法_asp.net教程-查字典教程网
asp.net 图片超过指定大小后等比例压缩图片的方法
asp.net 图片超过指定大小后等比例压缩图片的方法
发布时间:2016-12-29 来源:查字典编辑
摘要:复制代码代码如下://////压缩图片//////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教程学习
    编程开发子分类