1. /// <summary>
  2. /// 为图片生成缩略图
  3. /// </summary>
  4. /// <param name="phyPath">原图片的路径</param>
  5. /// <param name="width">缩略图宽</param>
  6. /// <param name="height">缩略图高</param>
  7. /// <returns></returns>
  8. public System.Drawing.Image GetThumbnail(System.Drawing.Image image, int width, int height)
  9. {
  10. Bitmap bmp = new Bitmap(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 = new System.Drawing.Rectangle(, , width, height);
  21.  
  22. gr.DrawImage(image, rectDestination, , , image.Width, image.Height, GraphicsUnit.Pixel);
  23. return bmp;
  24. }

调用方法

  1.   HttpPostedFile file = photoFile.PostedFile;
  2.         if (!file.ContentType.Contains("image"))
  3.         {
  4.       return "照片格式不合法";
  5.         }
  6.         string ext = Path.GetExtension(file.FileName).ToLower();
  7.         if (ext != ".jpg" && ext != ".gif" && ext != ".png" && ext != ".jpeg")
  8.         {
  9.       return "请您上传jpg、gif、png图片";
  10.         }
  11.         if (file.ContentLength > * * )
  12.         {
  13.       return "请您上传512字节内的图片";
  14.         }
  15.         string newName = Guid.NewGuid().ToString();
  16.         string tempPath = "upload/";
  17.         string img = tempPath + newName + ext;
  18.         string filePath = 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, , ).Save(filePath);
  26.         }

C#生成高清缩略图的方法的更多相关文章

  1. C#生成高清缩略图 (装在自OPEN经验库)

    来源 http://www.open-open.com/lib/view/open1389943861320.html 代码如下实现图片的高清缩略图 /// <summary> /// 为 ...

  2. C#生成高清缩略图

    /// <SUMMARY> /// 为图片生成缩略图 /// </SUMMARY> /// <PARAM name="phyPath">原图片的 ...

  3. atitit.thumb生成高质量缩略图 php .net c++ java

    atitit.java thumb生成高质量缩略图 php .net c++ 1. 图像缩放(image scaling)---平滑度(smoothness)和清晰度(sharpness) 1 2.  ...

  4. Swift开发小技巧--扫描二维码,二维码的描边与锁定,设置扫描范围,二维码的生成(高清,无码,你懂得!)

    二维码的扫描,二维码的锁定与描边,二维码的扫描范围,二维码的生成(高清,无码,你懂得!),识别相册中的二维码 扫描二维码用到的三个重要对象的关系,如图: 1.懒加载各种类 // MARK: - 懒加载 ...

  5. Asp.Net 上传图片并生成高清晰缩略图

    在asp.net中,上传图片功能或者是常用的,生成缩略图也是常用的.baidu或者google,c#的方法也是很多的,但是一用却发现缩略图不清晰啊,缩略图片太大之类的事情,下面是我在处理图片上的代码, ...

  6. Asp.Net 上传图片并生成高清晰缩略图(转)

    在asp.net中,上传图片功能或者是常用的,生成缩略图也是常用的.baidu或者google,c#的方法也是很多的,但是一用却发现缩略图不清晰啊,缩略图片太大之类的事情,下面是我在处理图片上的代码, ...

  7. VB高清图标制作方法

    我隆重介绍一个软件:ResHacker !!! 这个软件可以修改软件的很多东西包括图标和标题,下面看**作. 运行ResHacker打开要更改图标的exe文件, 图标组--1--右键0--替换资源-- ...

  8. 【转】JSP使用上传文件,并生产高清缩略图示例

    原文地址:http://blog.csdn.net/yakson/article/details/9875731 前言 刚开始本来只想来测试一下Thumbnails生成缩略图的效果的,顺便来学一下js ...

  9. JavaScript Html2canvas 生成高清图片(移动端模糊问题)

    最近在做一个移动端的项目,简单记录一下该功能. 需求是这样的: 将带有二维码和一些介绍信息 动态生成一张图片 比如说是 生成这样的图片,文字.主图.价格.二维码都是不固定的. 对于这个需求,看见微信上 ...

随机推荐

  1. 使用python3下载网易云音乐歌单歌曲,附源代码

    """ 用selenium+PhantomJS配合,不需要进行逆向工程 python 3下的selenium不能默认安装,需要指定版本2.48.0 "" ...

  2. layer父页面调用子页面的方法

    由于不知道如何在子页面获取到layer定义的确定按钮,于是就在子页面上定义了一个方法,然后在由父页面在点确定按钮时调用子页面所定义的这个方法,从而执行子页面方法里面的内容: 子页面代码: functi ...

  3. mac terminal基本命令

    文件目录 首先要清楚几个文件目录: " / "  :根目录 " ~ " :用户主目录的缩写.例如当前用户为esther,那么" ~ "展开来 ...

  4. android json 解析 kotlin

    前面 写了一次 kotlin解析json 但是,真的写得太烂,直接删掉了,现在重新整理一下.顺便记录一下今天坑了我很久的小问题. 1.首先从最简单的入手吧 一个json的字符串:=====就叫做jso ...

  5. CMD命令简介

    cmd是command的缩写.即命令行 . 虽然随着计算机产业的发展,Windows 操作系统的应用越来越广泛,DOS 面临着被淘汰的命运,但是因为它运行安全.稳定,有的用户还在使用,所以一般Wind ...

  6. xcode6没有prefix.pch预编译文件解决办法

    注意到Xcode6创建的工程没有prefix.pch. 于是手动创建. 在other下选择pch文件 接着到工程的build setting下设置开启预编译并配置路径(文件的路径.因为我新建在cofi ...

  7. WebApi 跨域

    http://www.cnblogs.com/lori/p/3557111.html http://bbs.csdn.net/topics/391020576

  8. 14、响应式布局和BootStrap 全局CSS样式知识点总结-part1

    1.什么是响应式布局 响应式布局是Ethan Marcotte在2010年5月份提出的一个概念,这个概念是为解决移动互联网浏览而诞生的. 简而言之,就是一个网站能够兼容多个终端——而不是为每个终端做一 ...

  9. 『编写高质量代码Web前端开发修炼手册』读书笔记--高质量的CSS

    1.怪异模式和DTD 标准模式:浏览器根据规范表现页面 怪异模式:模拟老浏览器行为防止老站点无法工作(为了兼容老式浏览器的代码),如果漏写DTD(Document Type Definition文档定 ...

  10. Windows核心编程小结1

    这本书绝对经典,看看定会增加不少知识.当然这本书有很多东西比<Windows程序设计第五版>中的更加详细. 1.Unicode:宽字节字符集 这是一个国际的字符标准,16位,最大可支持65 ...