源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

asp.net 图片超过指定大小后等比例压缩图片的方法

  • 时间:2022-06-20 10:23 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:asp.net 图片超过指定大小后等比例压缩图片的方法
[u]复制代码[/u] 代码如下:
/// <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         }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部