/// <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(0, 0, width, height);

  gr.DrawImage(image, rectDestination, 0, 0, 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 > 5 * 1024 * 1024)

  {

  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, 504, 374)。Save(filePath);

  }

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. 【转】JSP使用上传文件,并生产高清缩略图示例

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

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

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

  9. c#生成高清字体图片

    Graphics g = Graphics.FromImage(image); g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.Hig ...

随机推荐

  1. JAVA classpath, 纠正我一直以来错误的认知

    如何调在CLI中使用java tool(JDK中的java命令)调用一个打包在jar中的类,我想大多数人都能给出笼统的方案: java -classpath xxxxx com.test.classA ...

  2. [转]100个经典C语言程序(益智类问题)

    目录: 1.绘制余弦曲线 2.绘制余弦曲线和直线 3.绘制圆 4.歌星大奖赛 5.求最大数 6.高次方数的尾数 8.借书方案知多少 9.杨辉三角形 10.数制转换 11.打鱼还是晒网 12.抓交通肇事 ...

  3. 复杂事件处理引擎—Esper入门(第二弹)

    说明: 以下内容,可以参考Esper官方网站<Qucik start & Tutorial >(顺序做了部分调整). PS:因为英语水平有限(大学期间刚过CET4的英语小盲童一枚) ...

  4. 转:Twitter.com在用哪些Javascript框架?

    原文来自于:http://blog.jobbole.com/63964/ 我一直在研究twitter.com使用的一些UI框架.下面是这些框架的清单(大部分是Javascript框架).如果你发现有些 ...

  5. Entity Framework with MySQL 学习笔记一(insert,update,delete)

    先说说 insert 吧. 当EF执行insert时,如果我们传入的对象是有关联(1对多等)的话,它会执行多个语句 insert到多个表, 并且再select出来填充我们的属性(因为有些column默 ...

  6. 51单片机C语言学习笔记4:keil C51绝对地址访问

    在利用keil进行8051单片机编程的时,常常需要进行绝对地址进行访问.特别是对硬件操作,如DA AD 采样 ,LCD 液晶操作,打印操作.等等.C51提供了三种访问绝对地址的方法: 1. 绝对宏:  ...

  7. Android ContentProvider完整案例

    ContentData类,提供数据常量: /** * 提供ContentProvider对外的各种常量,当外部数据需要访问的时候,就可以参考这些常量操作数据. * @author HB * */ pu ...

  8. SQL-Customers Who Never Order

    Suppose that a website contains two tables, the Customers table and the Orders table. Write a SQL qu ...

  9. Easyui获取数据库date数据的显示

    众所周知Oracle数据库中的date与众不同,在Easyui中显示数据库的date类型如果不经过转化为显示为Object.因此需要经过处理. 1.首先你要写转化date的JavaScript < ...

  10. paip.输入法编程---增加码表类型

    paip.输入法编程---增加码表类型 作者Attilax ,  EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.csdn.net/attil ...