您的位置:首页 > 编程语言 > ASP

ASP.Net常用功能整理--生成图片的缩略图

2008-05-07 14:29 405 查看
以下是上传一张800*1000的,分别生成不同缩略图
核心代码:
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;
namespace CommonFunction
{
/// <summary>
/// smallImg 的摘要说明。
/// </summary>
public class smallImg : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Label Label1;
protected System.Web.UI.WebControls.Label Label2;
protected System.Web.UI.WebControls.Label Label3;
protected System.Web.UI.WebControls.Button btnUp;
protected System.Web.UI.WebControls.Image imageSource;
protected System.Web.UI.WebControls.Image imageSmall;
protected System.Web.UI.HtmlControls.HtmlInputFile upImage;

//定义image类的对象
System.Drawing.Image image,newimage;
//图片路径
protected string imagePath;
//图片类型
protected string imageType;
//图片名称
protected string imageName;
//提供一个回调方法,用于确定Image对象在执行生成缩略图操作时何时提前取消执行
//如果此方法确定 GetThumbnailImage 方法应提前停止执行,则返回 true;否则返回 false
System.Drawing.Image.GetThumbnailImageAbort callb = null;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.btnUp.Click += new System.EventHandler(this.btnUp_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void btnUp_Click(object sender, System.EventArgs e)
{
string mPath;
if("" != upImage.PostedFile.FileName)
{
imagePath= upImage.PostedFile.FileName;
//取得图片类型
imageType= imagePath.Substring(imagePath.LastIndexOf(".")+1);
//取得图片名称
imageName = imagePath.Substring(imagePath.LastIndexOf("//")+1);
//判断是否是JPG或者GIF图片,这里只是举个例子,并不一定必须是这两种图片
if("jpg" != imageType && "gif" != imageType)
{
Response.Write("<script language='javascript'> alert('对不起!请您选择jpg或者gif格式的图片!');</script>");
return;
}
else
{
try
{
//建立虚拟路径
mPath=Server.MapPath("upFile");
//保存到虚拟路径
upImage.PostedFile.SaveAs(mPath+"//"+imageName);
//显示原图
imageSource.ImageUrl = "upFile/"+imageName;
//为上传的图片建立引用
image=System.Drawing.Image.FromFile(mPath+"//"+imageName);
//生成缩略图
newimage=image.GetThumbnailImage(100,100,callb,new System.IntPtr());
//把缩略图保存到指定的虚拟路径
newimage.Save(Server.MapPath("upFile")+"//small"+imageName);
//释放image对象占用的资源
image.Dispose();
//释放newimage对象的资源
newimage.Dispose();
//显示缩略图
imageSmall.ImageUrl = "upFile/"+"small"+imageName;
Response.Write("上传成功!");
}
catch
{
Response.Write("上传成功!");
}

}
}

}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: