`

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中,创建缩略图是一项常见的任务,特别是在构建包含图像处理功能的Web应用程序时。C#作为ASP.NET的主要编程语言,提供了丰富的库和API来实现这一功能。本资源包"Example042-创建缩略图"可能包含一个示例...

    asp.net 生成缩略图

    4. **创建缩略图**:根据计算出的比例,创建一个新的Bitmap对象,作为缩略图的画布。然后,使用Graphics类的DrawImage方法将原始图片绘制到这个新的Bitmap上。 ```csharp Bitmap thumbnail = new Bitmap...

    用ASP.Net生成缩略图!!

    在 ASP.NET 开发中,生成缩略图是一项常见的任务,特别是在构建包含图像上传和展示功能的网站时。在 ASP.NET 中,你可以利用 .NET Framework 的内置类库来实现这一功能,而无需依赖任何第三方控件。以下是一个使用 ...

    ASP.NET 3.0 缩略图水印组件

    ASP.NET 3.0 缩略图水印组件是一个用于在ASP.NET开发环境中处理图像的工具,它提供了创建缩略图以及在图像上添加水印的功能。这个组件可以帮助开发者高效地管理和展示网站上的图片资源,同时增强版权保护,通过...

    asp.net水印缩略图制作

    总结来说,"asp.net水印缩略图制作"涉及到ASP.NET中的图像处理技术,包括利用System.Drawing命名空间中的类生成和操作图像,创建缩略图,以及添加水印。这些技术对于构建具有图像展示和保护功能的Web应用至关重要。...

    C# ASP.NET - 图片缩略图水印在线生成

    系统.Drawing提供了对图像的基本操作,包括创建缩略图。首先,我们需要读取原始图片,然后通过调整宽度和高度生成缩略图,保持原图宽高比不变,以避免变形。 ```csharp using System.Drawing; // 加载原始图片 ...

    asp.net 自动生成缩略图

    ### ASP.NET 自动生成缩略图知识点解析 #### 一、概述 在Web开发中,图片处理是一项常见的需求。尤其是在用户上传图片后,为了更好地展示或节省带宽资源,往往需要将图片转换为较小尺寸的版本(即缩略图)。ASP...

    解决.net缩略图质量问题 Asp.net生成高质量缩略图

    通常,我们使用图像处理库来读取原始图片,然后调整尺寸以创建缩略图。在.NET中,System.Drawing命名空间提供了丰富的类来处理图像,如Bitmap和Graphics类。例如,我们可以使用Bitmap类的Clone方法来创建原始图片的...

    asp.net 生成缩略图源码

    - **创建缩略图**:利用`Bitmap`类创建一个新的位图,并使用`Graphics`对象进行绘制。在绘制过程中,设置了高质量的插值和平滑模式,以提高图片质量。 - **创建索引图**:类似地,创建一个较小尺寸的位图作为索引图...

    ASP.NET 2.53 缩略图水印组件源码

    在这个特定的案例中,我们讨论的是一个2.53版本的ASP.NET组件,专门用于生成缩略图并添加水印。 缩略图生成是一个常见的需求,特别是在处理大量图像的网站或应用中,如图片库、电商网站等。缩略图可以有效地减少...

    C#,ASP.NET 生成缩略图源码

    - 创建缩略图:通过创建新的`Bitmap`对象,设置其宽度和高度为缩略图尺寸,然后使用`Graphics`对象的`DrawImage`方法进行绘制。在这个过程中,可以指定缩放算法。 - 保存缩略图:使用`Save`方法将缩略图保存到文件...

    asp.net生成高质量缩略图函数.txt

    3. **创建缩略图**: - 创建一个新的 `Bitmap` 实例作为缩略图的基础。 - 使用 `Graphics` 类进行图像处理,通过设置 `InterpolationMode` 和 `SmoothingMode` 来保证图像质量。 - 调用 `Graphics.DrawImage` ...

    asp.net生成缩略图通用函数(支持多种生成方式)_支持图片裁减

    在ASP.NET中,生成缩略图是一项常见的任务,特别是在网站开发中,为了节省服务器资源和提高页面加载速度,经常需要将大尺寸的图片转化为小尺寸的缩略图。本篇将详细讲解一个C#编写的ASP.NET通用缩略图生成函数,该...

    asp.net 缩略图水印模块

    在ASP.NET中,创建缩略图并添加水印是一项常见的任务,主要应用于网站中的图片展示,比如产品图库、新闻文章配图等。这个“asp.net 缩略图水印模块”应该是一个能够帮助开发者快速实现这一功能的代码示例或组件。...

    asp.net 2.0 缩略图、水印制作

    在ASP.NET 2.0开发中,生成缩略图和添加水印是常见的图像处理需求。这涉及到图像处理技术,包括尺寸调整、图像质量保持、以及如何在图像上添加文字或图片作为装饰或版权保护。以下是对这些知识点的详细解释: 1. **...

    asp.net生成缩略图简洁版

    在ASP.NET中生成缩略图是一项常见的需求,特别是在网站开发中,用于展示图片预览或优化加载速度。本文将详细介绍如何使用C#编写一个通用且简单的函数来实现这个功能。 首先,我们需要一个函数,该函数接受四个参数...

    .net下实现图片缩略图

    创建缩略图:** 创建一个新的`Bitmap`对象,用以保存缩略图,并根据缩放比例设置其大小。然后使用`Graphics`类来绘制缩放后的图像: ```csharp Bitmap thumbnail = new Bitmap(thumbnailWidth, thumbnailHeight); ...

Global site tag (gtag.js) - Google Analytics