以前,在页面上实现缩略图必须借助第三方组件。现在,有了.net,就可以很轻松地实现缩略图。下面就是实现缩略图的例子。 tothumbnailimage.aspx <%@ page language="c#" codebehind="tothumbnailimage.aspx.cs" src="tothumbnailimage.aspx.cs" autoeventwireup="false" inherits="exam_c.tothumbnailimage" %> tothumbnailimage.aspx.cs using system; #region helper /// <summary> /// <summary> #region methods
<html>
<head>
<title>lion互动网络 =>生成缩略图</title>
</head>
<body>
<form id="form1" method="post" runat="server">
</form>
</body>
</html>
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
/// <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>
/// <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>
/// <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