当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > ASP.Net常用功能整理--生成图片的缩略图

ASP.NET
运行时修改Web.config中的元素值
优秀的Architect之路(入门)
提问的智慧(HowToAskQuestionsTheSmartWay)
C#数据结构篇(3队列类)
现在就可下载WTL7.0和.NETSP1
在.NET中开发组件
使用.NET远程处理访问其他应用程序域中的对象
使用ADO.NET访问数据库
承载.NET公共语言运行库
在.NET运行时了解类型信息(2)
在.NET运行时了解类型信息(3)
智能客户端(SmartClient)
获取数据库表结构
Visual Studio 2005 分包下载
为DataGrid中的行增加序号
关于HttpContext的Items属性
[推荐].NET XML Best Practices - Choosing an XML API
在 XML Schema和WSDL中使用名称空间
在论坛里为什么不能发问题
AspectSharp例子分析

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 100 ::
收藏到网摘: n/a

    这二天想了想决定把自己先前做的项目中的小的功能,整理一下,奉献大家!经大家提议,我决定加上源代码,但是源代码不一定都是我写的,有的来自书上,有的来自网上,有的来自开源项目,与我自己的代码有不相符的,那就是先前的例子!

源代码:smallImg.rar

以下是上传一张800*1000的,分别生成不同缩略图

命名空间:
using System.IO;

核心代码:
  System.Drawing.Image.GetThumbnailImageAbort  callb = null;

try
    {    
     // 保存到指定的文件夹
     File1.PostedFile.SaveAs(Server.MapPath("/semir/ImgSides/") + sidePath);
     MyImage = System.Drawing.Image.FromFile(Server.MapPath("/semir/ImgSides/") + sidePath);
     // 保存大图(原图)
     NewImage = MyImage.GetThumbnailImage(800, 1000, callb, new System.IntPtr());
     NewImage.Save(Server.MapPath("/semir/ImgSides/") + "big" + sidePath);
     // 保存中图
     NewImage = MyImage.GetThumbnailImage(400, 500, callb, new System.IntPtr());
     NewImage.Save(Server.MapPath("/semir/ImgSides/") + "middle" + sidePath);
    
     // 单款衣服的图片大小
     NewImage =  MyImage.GetThumbnailImage(255, 319, callb, new System.IntPtr());
     NewImage.Save(Server.MapPath("/semir/ImgSides/") + "SingleImage" + sidePath);
     
     // 保存小图
     NewImage = MyImage.GetThumbnailImage(115, 144, callb, new System.IntPtr());
     NewImage.Save(Server.MapPath("/semir/ImgSides/") + "small" + sidePath);
     // 保存极小图
     NewImage = MyImage.GetThumbnailImage(45, 56, callb, new System.IntPtr());
     NewImage.Save(Server.MapPath("/semir/ImgSides/") + "dinky" + sidePath);    

     MyImage.Dispose();
     NewImage.Dispose();
     // 一定要释放,否则进程被占用
    }
    catch(Exception ex)
    {
     Response.Write(ex.ToString());
    }