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

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

2007-07-04 11:08 363 查看
以下是上传一张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("上传成功!");
     }
    
    }
   }
  
  }
 }
}
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息