ASP.NET 按规定尺寸缩放图片
来源:互联网 发布:linux服务器运维手册 编辑:程序博客网 时间:2024/05/13 03:35
public string ImgFileUp(HttpPostedFile HPF, string saveDir) { string returnStr1 = ""; string Extension = new FileInfo(HPF.FileName).Extension; #region 保存原始文件 //清除多余字符串 saveDir = saveDir.TrimEnd('/').TrimStart('/'); //获取上传日期 string time = string.Concat("/", DateTime.Now.ToString("yyyyMMdd")); //判读上传文件夹是否存在 bool existDir = Directory.Exists(Server.MapPath(string.Concat("~/", saveDir, time))); //不存在文件夹,自动创建 if (!existDir) { //创建文件夹 Directory.CreateDirectory(Server.MapPath(string.Concat("~/", saveDir, time))); } //上传的最初文件名+后缀 string dbImageName = ""; if (n == false) { dbImageName = System.IO.Path.GetFileName(HPF.FileName); } else { dbImageName = Guid.NewGuid() + DateTime.Now.ToString("yyyyMMddHHmmssfff") + Extension; } //上传的图像保存的物理路径 string originalImagePath = Server.MapPath(string.Concat("~/", saveDir, time, "/", dbImageName)); //保存图片 //HPF.SaveAs(originalImagePath); //string originalImagePath = Server.MapPath("/" + saveDir + "/" + time + "/" + dbImageName); //生成压缩文件 System.Drawing.Image originalImage = System.Drawing.Image.FromStream(HPF.InputStream); int maxWidth =900; //图片宽度最大限制 int maxHeight = 900; //图片高度最大限制 int imgWidth = originalImage.Width; int imgHeight = originalImage.Height; if (imgHeight > maxHeight || imgWidth>maxWidth) //如果宽度超或者高度超过进行压缩 { if (imgWidth > imgHeight) { if (imgWidth > maxWidth) //如果图片宽度超过限制 { float toImgWidth = maxWidth; //图片压缩后的宽度 float toImgHeight = imgHeight / (float)(imgWidth / toImgWidth); //图片压缩后的高度 //新建一个bmp图片 System.Drawing.Image img = new System.Drawing.Bitmap(Convert.ToInt32(toImgWidth), Convert.ToInt32(toImgHeight)); Graphics g = System.Drawing.Graphics.FromImage(img);//新建画板 g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;//设置高质量插值法 g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;//设置高质量,低速度呈现平滑程度 g.Clear(Color.Transparent);//清空画布 g.DrawImage(originalImage, new Rectangle(0, 0, Convert.ToInt32(toImgWidth), Convert.ToInt32(toImgHeight)), new System.Drawing.Rectangle(0, 0, imgWidth, imgHeight), GraphicsUnit.Pixel);//绘制原图片 img.Save(originalImagePath, System.Drawing.Imaging.ImageFormat.Jpeg); originalImage.Dispose(); img.Dispose(); g.Dispose(); } } else { if (imgHeight > maxHeight) { float toImgHeight = maxHeight; //图片压缩后的高度 float toImgWidth = imgWidth / (float)(imgHeight / toImgHeight); //图片压缩后的宽度 //新建一个bmp图片 System.Drawing.Image img = new System.Drawing.Bitmap(Convert.ToInt32(toImgWidth), Convert.ToInt32(toImgHeight)); Graphics g = System.Drawing.Graphics.FromImage(img);//新建画板 g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;//设置高质量插值法 g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;//设置高质量,低速度呈现平滑程度 g.Clear(Color.Transparent);//清空画布 g.DrawImage(originalImage, new Rectangle(0, 0, Convert.ToInt32(toImgWidth), Convert.ToInt32(toImgHeight)), new System.Drawing.Rectangle(0, 0, imgWidth, imgHeight), GraphicsUnit.Pixel);//绘制原图片 img.Save(originalImagePath, System.Drawing.Imaging.ImageFormat.Jpeg); originalImage.Dispose(); img.Dispose(); g.Dispose(); } } } else { HPF.SaveAs(originalImagePath); } returnStr1 = time + "/" + dbImageName; #endregion return returnStr1; }
0 0
- ASP.NET 按规定尺寸缩放图片
- imagick 等比缩放图片,保持规定尺寸
- asp.net 图片智能缩放!
- Html显示图片时,超过规定尺寸大小,则同比缩放图片显示,保持页面不变形的方法
- 图片压缩到规定大小和规定尺寸之内
- Android图片缩放 指定尺寸
- Android图片缩放 指定尺寸
- graphicsmagick+apache图片请求在线生成规定尺寸图片
- 在C#中实现图片缩放(含asp.net用鼠标滚轮实现图片缩放)
- Asp.net 让图片按比例进行缩放显示
- Javascript + Asp.net 让图片自动成比例缩放
- asp.net C#图片缩放放大剪切代码
- UIImage图片缩放到指定大小尺寸
- 按照给定尺寸进行图片的缩放
- ASP.NET上传图片,服务器端验证,宽度,高度,文件类型,尺寸,文件大小,图片上传,图片格式检查
- ASP.NET上传图片时改变图片的尺寸和文件大小
- iOS图片缩放成制定尺寸的UIImage图片
- java以目标尺寸按原图片像素比缩放切割图片
- HDU 1104 Remainder(BFS 同余定理)
- 数论-素数判定
- AVAudioSession bluetooth
- iOS学习笔记02——以编码的方式实现Auto Layout自动布局(一)
- c++ 虚函数表
- ASP.NET 按规定尺寸缩放图片
- 26.使用EventBus传递消息
- 使用nginx做反向代理,后端tomcat日志获取真实ip解决方案
- GitHub 上排名前 100 的 Objective-C 项目简介
- 改默认临时表空间
- 防火墙查看与设置
- sublime如何删除插件
- 改数据文件为自动扩展
- android下数据的持久化保存