/// <summary>
/// 为图片生成缩略图
/// </summary>
/// <param name="phyPath">原图片的路径</param>
/// <param name="width">缩略图宽</param>
/// <param name="height">缩略图高</param>
/// <returns></returns>
public System.Drawing.Image GetThumbnail(System.Drawing.Image image, int width, int height)
{
Bitmap bmp = new Bitmap(width, height);
//从Bitmap创建一个System.Drawing.Graphics
System.Drawing.Graphics gr = System.Drawing.Graphics.FromImage(bmp);
//设置
gr.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
//下面这个也设成高质量
gr.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
//下面这个设成High
gr.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
//把原始图像绘制成上面所设置宽高的缩小图
System.Drawing.Rectangle rectDestination = new System.Drawing.Rectangle(, , width, height); gr.DrawImage(image, rectDestination, , , image.Width, image.Height, GraphicsUnit.Pixel);
return bmp;
}

调用方法

  HttpPostedFile file = photoFile.PostedFile;
        if (!file.ContentType.Contains("image"))
        {
      return "照片格式不合法";
        }
        string ext = Path.GetExtension(file.FileName).ToLower();
        if (ext != ".jpg" && ext != ".gif" && ext != ".png" && ext != ".jpeg")
        {
      return "请您上传jpg、gif、png图片";
        }
        if (file.ContentLength > * * )
        {
      return "请您上传512字节内的图片";
        }
        string newName = Guid.NewGuid().ToString();
        string tempPath = "upload/";
        string img = tempPath + newName + ext;
        string filePath = Server.MapPath(img);
        if (!Directory.Exists(tempPath))
        {
            Directory.CreateDirectory(tempPath);
        }
        using (System.Drawing.Image originalImage = System.Drawing.Image.FromStream(file.InputStream))
        {
            GetThumbnail(originalImage, , ).Save(filePath);
        }

最新文章

  1. linuxz终端开启echo颜色显示
  2. Mssql中一些常用数据类型的说明和区别
  3. 多进程程序设计,王明学learn
  4. Saltstack-自动化部署
  5. color mask
  6. 【算法】简单选择排序 O(n^2) 不稳定的 C语言
  7. 网页解析的全过程(输入url到展示页面)
  8. Thinkphp3.2———配置模块
  9. SignalR简单Demo
  10. HTML5支持服务器发送事件(Server-Sent Events)-单向消息传递数据推送(C#示例)
  11. Sprite子节点透明度不能跟随父节点变化的问题求解(转)
  12. 各类排序算法的实现C#版
  13. Btrace官方教程-中文版
  14. django学习自修第一天【简介】
  15. MT【277】华中科技大学理科实验班选拔之三次方程
  16. JDK1.7 高并发下的HashMap
  17. IntelliJ idea连接操作DB2数据库
  18. java Scanner类的使用
  19. 分布式版本控制系统Git的安装与使用 第二次作业
  20. 在dbgrideh中允许选择多行,如何知道哪些行被选中

热门文章

  1. django_mysql_配置
  2. POJ 3414 BFS 输出过程
  3. openstack源
  4. String使用方法详解
  5. AndroidStudio和IDEA的初始设置
  6. postgreysql
  7. [python][django学习篇][8]django 视图(2) --简单模板
  8. arcgis engine10.1和arcObjects的一些问题
  9. 【距离GDOI:141天】 滚入数位DP的坑
  10. 如何在Ionic2项目中使用第三方JavaScript库