`

asp.net创建缩略图

 
阅读更多
记录一个保存缩略图通用的函数。



+ View Code?
  /// <summary> 
  /// 生成缩略图 
/// </summary> 
  /// <param name="originalImagePath">源图路径(物理路径)</param> 
  /// <param name="thumbnailPath">缩略图路径(物理路径)</param> 
  /// <param name="width">缩略图宽度</param> 
  /// <param name="height">缩略图高度</param> 
  /// <param name="mode">生成缩略图的方式</param>     
  public static void MakeThumbnail(string originalImagePath, string thumbnailPath, int width, int height, string mode) 
  { 
      Image originalImage = Image.FromFile(originalImagePath); 
        
      int towidth = width; 
      int toheight = height; 
    
      int x = 0; 
      int y = 0; 
      int ow = originalImage.Width; 
      int oh = originalImage.Height;         
 
      switch (mode) 
      {         
          case "HW"://指定高宽缩放(可能变形)                 
              break; 
          case "W"://指定宽,高按比例                     
              toheight = originalImage.Height * width/originalImage.Width; 
              break; 
          case "H"://指定高,宽按比例 
              towidth = originalImage.Width * height/originalImage.Height;                     
              break;         
          case "Cut"://指定高宽裁减(不变形)                 
              if((double)originalImage.Width/(double)originalImage.Height > (double)towidth/(double)toheight) 
              { 
                  oh = originalImage.Height; 
                  ow = originalImage.Height*towidth/toheight; 
                  y = 0; 
                  x = (originalImage.Width - ow)/2; 
              } 
              else
              { 
                  ow = originalImage.Width; 
                  oh = originalImage.Width*height/towidth; 
                  x = 0; 
                  y = (originalImage.Height - oh)/2; 
              } 
              break;                     
          default : 
              break; 
      }     
        
      //新建一个bmp图片 
      Image bitmap = new System.Drawing.Bitmap(towidth,toheight); 
 
      //新建一个画板 
      Graphics g = System.Drawing.Graphics.FromImage(bitmap); 
 
      //设置高质量插值法 
      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, towidth, toheight),  
          new Rectangle(x, y, ow,oh), 
          GraphicsUnit.Pixel); 
 
      try
      {             
          //以jpg格式保存缩略图 
          bitmap.Save(thumbnailPath, System.Drawing.Imaging.ImageFormat.Jpeg); 
      } 
      catch(System.Exception e) 
      { 
          throw e; 
      } 
      finally
      { 
          originalImage.Dispose(); 
          bitmap.Dispose();                         
          g.Dispose(); 
      } 
  } 

分享到:
评论

相关推荐

    asp.net 创建缩略图

    asp.net 创建缩略图! 很值得下载看看!资源免费,大家分享!!

    ASP.NET创建动态缩略图的方法

    本文实例讲述了ASP.NET创建动态缩略图的方法。分享给大家供大家参考。具体分析如下: 提示: 1. 导入 System.IO 2. 创建 类C lass “CreateThumbnails” or any class and place following function inside that ...

    asp.net知识库

    ASP.NET 2.0使用Web Part创建应用程序之二(共二) 体验 .net2.0 的优雅(2) -- ASP.net 主题和皮肤 NET2.0系列介绍(一).NET 2.0 中Web 应用程序主题的切换 ASP.NET 2.0 中Web 应用程序主题的切换 2.0正式版中...

    asp.net专家疑难解答200问

    如何生成图片的缩略图 190.如何在ASP.NET中动态的创建柱状和饼状统计图 192.如何判断上传图片的高度和宽度 193.如何使用DESCryptoServiceProvider类对数据或者文件进行加密解密 194.如何统计在线...

    ASP.NET3.5典型模块开发源代码

    11.3.4 使用“AspNetImage”组件生成缩略图文字水印的范例 138 11.4 小结 139 第12章 防盗链模块 140 12.1 盗链对网站的影响 140 12.2 盗链应对措施 141 12.2.1 HTTP请求的定义 141 12.2.2 服务器处理...

    asp.net 自定义控件实现无刷新上传图片,立即显示缩略图,保存图片缩略图

    如图: 点击浏览,选择图片之后,右面显示图片 第一步: 创建CtFileUpLoad.ascx 代码如下: &lt;&#37;@ Control Language=”C#” AutoEventWireup=”true” CodeFile=”CtFileUpLoad.ascx.cs” Inherits=”WebParts_...

    ASP.net实例光盘源码:

    Sample_06_02/CutImage.aspx 创建缩略图 Sample_06_02/Default.aspx 显示图片 Sample_06_02/DrawString.aspx 绘制图片水印 Sample_06_02/OutImage.aspx 显示图片 第7章(/Web2ASPNET2/) ...

    ImageDraw for ASP.NET试用版:一款用于在Web下创建和处理图片的控件

    ImageDraw for ASP.NET是一款.NET 下的专业网页图片设计控件,通过ImageDraw,您可以充分体会到在ASP.NET Web应用程序开发过程中GDI+所发挥的设计优势,动态创建复杂的图片,支持图片文件、文本、水印等。并且支持...

    ASP.NET2.0典型模块(1-16)

    ThumbnailImage 使用ASP.NET 2.0实现缩略图模块 AspJpegSample 使用第三方组件在ASP.NET 2.0中实现对图片的处理 &lt;br&gt;第12章(\C12) 示例描述:本章示例展现了ASP.NET2.0中的防盗链技术。 ...

    网络书店 ASP.NET网站

    网络书店 一个小 demo ,项目中用到的技术 , 01、简单三层架构 02、ckeditor和ubb编辑器 03、审查用户评论 ...18、启动FFMepg进行转码、抓缩略图 19、视频转码 20、大文件上传 21、无刷新评论 22、异步获取数据

    asp.net图片上传生成缩略图的注意事项

     //这是保存缩略图的一段代码,其中的ImageFormat.Jpeg一定不能省略,即使你保存的文件本来就是jpg格式的,也不能去掉。因为如果去掉的话,生成的缩略图比原始图片还要大! //另外,imgPath必须首先创建,否则会...

    asp.net专家疑难解答200问源码

    189.如何生成图片的缩略图 190.如何在ASP.NET中动态的创建柱状和饼状统计图 192.如何判断上传图片的高度和宽度 193.如何使用DESCryptoServiceProvider类对数据或者文件进行加密解密 194.如何统计在线人数 195....

    asp.net 细粒权限源码,浪曦图库系统

    1.图片模块:图片上传,自动裁切缩略图以及图片信息管理模块。无限极栏目。 2.新闻系统模块,新闻的发布以及管理。无限极栏目。 3.自定义皮肤以及自定义信息显示功能:系统自带标签可使不懂asp.net甚至不懂html的...

    Aspnet-BatchThumbnailImageMaker.zip

    Aspnet-BatchThumbnailImageMaker.zip,获取远程图像用作缩略图的ASP.NET应用程序。它可以处理大量这样的图像。...asp.net创建基于html5、css和javascript的网站,这些网站简单、快速,可以扩展到数百万用户。

    ASP.NET-MVC-Image-Upload-Concepts:ASP.NET MVC 图片上传概念

    图片上传ASP.NET MVC ImageUpload 概念使用 ASP.Net、MVC 5、Entity Framework 6 的带有 CRUD(创建、读取、更新、删除)示例的基本图像上传应用程序。 ###基本概念合并HTML 版本基本 CRUD Bootstrap 样式jQuery ...

    CKeditor 4.3 上传图片 asp(不是.net)

    CKeitor 4.3 不用ckfinder 注: 1. 附件中有Tabs.upload组件,需要安装(免费的) 2. index页面和Ckeditor要放在一个文件件目录下(建议放在头...6. 顺带说一下,有个asp缩略图功能的犀利组件(免费的)叫CxImageATL。

    ASP.NET编程之道.part1.rar

    细节39 生成缩略图的方法 细节40 使用缓冲流 …… 第6章 必知必会的28个ADO.NET、XML及LINQ方面的技术细节 第7章 必知必会的22个Web方面的技术细节 第4篇 开发技巧篇 第8章 必知必会的30个语言方面的经验技巧 第9章 ...

    AspJpeg组件 AspJpeg1.801

     AspJpeg可以使用很少的代码在您的ASP/ASP.Net应用程序上动态的创建高质量的缩略图象,支持的图象格式有:JPEG, GIF, BMP, TIFF, PNG。  AspJpeg主要可以做到:生成缩略图片、生成水印图片、图片合并、图片切割、...

Global site tag (gtag.js) - Google Analytics