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

ASP.NET
many-to-many多对多映射
.NETRemotingChannelListener
转载李建忠老师的一篇文章
原创ColorComboBox控件
用IDisposable接口释放.NET资源
c#v2.0 扩展特性 翻译1
XPath中如何比较不同类型的对象
用哈希表搜索对象
C#陷阱int i = 10; i += i++; i =
Make a window that pops up from taskbar
获取网站返回的头部信息
自己动手写屏保
在DataGrid中添加Radio单选按钮列
实现性能目标的几种方法
增强.NETFramework中线程的功能
ASP.NET 2.0,写无限级下拉菜单不再难
book_dotnet
用.NET武装你的头脑
准备你的发布阶段
移植到.NET

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 130 ::
收藏到网摘: 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());
    }