博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#生成高清缩略图
阅读量:6308 次
发布时间:2019-06-22

本文共 1764 字,大约阅读时间需要 5 分钟。

01 /// <summary> 
02    /// 为图片生成缩略图   
03    /// </summary> 
04    /// <param name="phyPath">原图片的路径</param> 
05    /// <param name="width">缩略图宽</param> 
06    /// <param name="height">缩略图高</param> 
07    /// <returns></returns> 
08    public System.Drawing.Image GetThumbnail(System.Drawing.Image image, int width, intheight) 
09    
10        Bitmap bmp = newBitmap(width, height); 
11        //从Bitmap创建一个System.Drawing.Graphics 
12        System.Drawing.Graphics gr = System.Drawing.Graphics.FromImage(bmp); 
13        //设置  
14        gr.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality; 
15        //下面这个也设成高质量 
16        gr.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality; 
17        //下面这个设成High 
18        gr.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic; 
19        //把原始图像绘制成上面所设置宽高的缩小图 
20        System.Drawing.Rectangle rectDestination = newSystem.Drawing.Rectangle(0, 0, width, height); 
21     
22        gr.DrawImage(image, rectDestination, 0, 0, image.Width, image.Height, GraphicsUnit.Pixel); 
23        returnbmp; 
24    }

 

调用方法

 
01 HttpPostedFile file = photoFile.PostedFile; 
02         if(!file.ContentType.Contains("image")) 
03         
04 return"照片格式不合法"
05         
06         stringext = Path.GetExtension(file.FileName).ToLower(); 
07         if (ext != ".jpg" && ext != ".gif" && ext != ".png"&& ext != ".jpeg"
08         
09 return"请您上传jpg、gif、png图片"
10         
11         if(file.ContentLength > 5 * 1024 * 1024) 
12         
13 return"请您上传512字节内的图片"
14         
15         stringnewName = Guid.NewGuid().ToString(); 
16         stringtempPath = "upload/"
17         stringimg = tempPath + newName + ext; 
18         stringfilePath = Server.MapPath(img); 
19         if(!Directory.Exists(tempPath)) 
20         
21             Directory.CreateDirectory(tempPath); 
22         
23         using(System.Drawing.Image originalImage = System.Drawing.Image.FromStream(file.InputStream)) 
24         
25             GetThumbnail(originalImage, 504, 374).Save(filePath); 
26         }

转载地址:http://bsxxa.baihongyu.com/

你可能感兴趣的文章
记一次公司仓库数据库服务器死锁过程
查看>>
Oracle 11g password过期被锁定报道 ORA-28000 the account is locked
查看>>
【Struts2学习笔记(2)】Action默认值和配置Action于result各种转发类型
查看>>
轨磁条简介
查看>>
(算法)交错的字符串
查看>>
hdu 5471(状压DP or 容斥)
查看>>
oracle.jdbc.driver.OracleDriver和oracle.jdbc.OracleDriver这两个驱动的区别
查看>>
NSQ部署
查看>>
git常用命令记录
查看>>
IBM发布新一代云计算工具包MobileFirst Foundation
查看>>
唯品会HDFS性能挑战和优化实践
查看>>
大规模学习该如何权衡得失?解读NeurIPS 2018时间检验奖获奖论文
查看>>
大厂前端高频面试问题与答案精选
查看>>
我们用5分钟写了一个跨多端项目
查看>>
Visual Studio 15.4发布,新增多平台支持
查看>>
有赞透明多级缓存解决方案(TMC)设计思路
查看>>
如何设计高扩展的在线网页制作平台
查看>>
Git 2.5增加了工作树、改进了三角工作流、性能等诸多方面
查看>>
Swift 5将强制执行内存独占访问
查看>>
中台之上(二):为什么业务架构存在20多年,技术人员还觉得它有点虚?
查看>>