• 如何生成图片的缩略图


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

    以下为代码:

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

                        
                    }

                }

                
            }

        }

    }

  • 相关阅读:
    js中(function(){…})()立即执行函数写法理解
    JS 立即执行的函数表达式(function)写法
    javascript中call,apply,bind的用法对比分析
    C++成员函数指针的应用
    typeid详解
    dynamic_cast
    C++标准转换运算符dynamic_cast
    继承的构造函数
    考虑写一个不抛出异常的swap函数
    布隆过滤器(转)
  • 原文地址:https://www.cnblogs.com/qingyang/p/139928.html
Copyright © 2020-2023  润新知