用C#轻松在DOTNET中实现缩略图[1]

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 realkoyu 的 blog

 以前,在页面上实现缩略图必须借助第三方组件。现在,有了.net,就可以很轻松地实现缩略图。下面就是实现缩略图的例子。

tothumbnailimage.aspx

<%@ page language="c#" codebehind="tothumbnailimage.aspx.cs" src="tothumbnailimage.aspx.cs" autoeventwireup="false"

inherits="exam_c.tothumbnailimage" %>
<html>
  <head>
    <title>lion互动网络 =>生成缩略图</title>
  </head>
  <body>
    <form id="form1" method="post" runat="server">
     </form>
  </body>
</html>

 tothumbnailimage.aspx.cs

using system;
using system.collections;
using system.componentmodel;
using system.data;
using system.drawing;
using system.web;
using system.web.sessionstate;
using system.web.ui;
using system.web.ui.webcontrols;
using system.web.ui.htmlcontrols;
using system.drawing.imaging;
namespace exam_c
{
 /// <summary>
 /// tothumbnailimage 的摘要说明。
 /// </summary>
 public class tothumbnailimage : system.web.ui.page
 {
  /* 
  create by lion 
  2003-05-20 19:00 
  copyright (c) 2004 www.lionsky.net. all rights reserved.
  web: http://www.lionsky.net ;
  email: lion-a@sohu.com
  */ 


  static hashtable htmimes=new hashtable();
  internal readonly string allowext = ".jpe|.jpeg|.jpg|.png|.tif|.tiff|.bmp";
 
  #region web 窗体设计器生成的代码
  override protected void oninit(eventargs e)
  {
   #region htmimes[".jpe"]="image/jpeg";
   htmimes[".jpeg"]="image/jpeg";
   htmimes[".jpg"]="image/jpeg";  
   htmimes[".png"]="image/png";  
   htmimes[".tif"]="image/tiff";
   htmimes[".tiff"]="image/tiff";
   htmimes[".bmp"]="image/bmp";
   #endregion
   //调用生成缩略图方法
   tothumbnailimages("lionsky.jpg","b.gif",300);
  } 
  #endregion

  #region helper
 
  /// <summary>
  /// 获取图像编码解码器的所有相关信息
  /// </summary>
  /// <param name="mimetype">包含编码解码器的多用途网际邮件扩充协议 (mime) 类型的字符串</param>
  /// <returns>返回图像编码解码器的所有相关信息</returns>
  static imagecodecinfo getcodecinfo(string mimetype)
  {
   imagecodecinfo[] codecinfo = imagecodecinfo.getimageencoders();
   foreach(imagecodecinfo ici in codecinfo)
   {
    if(ici.mimetype == mimetype)return ici;
   }
   return null;
  }

  /// <summary>
  /// 检测扩展名的有效性
  /// </summary>
  /// <param name="sext">文件名扩展名</param>
  /// <returns>如果扩展名有效,返回true,否则返回false.</returns>
  bool checkvalidext(string sext)
  {  
   bool flag=false;
   string[] aext = allowext.split('|');
   foreach(string filetype in aext)
   {
    if(filetype.tolower()==sext)
    {
     flag = true;
     break;
    }
   }  
   return flag;
  }

  /// <summary>
  /// 保存图片
  /// </summary>
  /// <param name="image">image 对象</param>
  /// <param name="savepath">保存路径</param>
  /// <param name="ici">指定格式的编解码参数</param>
  void saveimage(system.drawing.image image,string savepath,imagecodecinfo ici)
  {
   //设置 原图片 对象的 encoderparameters 对象
   encoderparameters parameters = new encoderparameters(1);
   parameters.param[0] = new encoderparameter(encoder.quality, ((long) 90));
   image.save(savepath, ici, parameters);
   parameters.dispose();
  }
  #endregion

  #region methods

本文关键:用C#轻松在DOTNET中实现缩略图
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top