如何生成图片的缩略图

以下为页面:
要上传的图片
原图片
缩略图

以下为代码:

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)
        
{
            
// 在此处放置用户代码以初始化页面
        }


        
Web 窗体设计器生成的代码

        
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(
"上传成功!");
                    }

                    
                }

            }

            
        }

    }

}

posted @ 2005-04-18 19:28  tsyung  阅读(3245)  评论(6编辑  收藏  举报