仰天一笑

昨日不悔,今日勿失,明日莫忧! —徐羽

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  230 随笔 :: 27 文章 :: 811 评论 :: 41 引用


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

源代码: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());
    } 

posted on 2006-06-27 14:20 仰天一笑 阅读(1285) 评论(11)  编辑 收藏 所属分类: 原创天地ASP.Net-C#

评论

#1楼  2006-06-27 14:35 superstar      
如果给个源码下载那就更加好,最好能完整例子
  回复  引用  查看    

#2楼  2006-06-27 15:22 自適應軟件......      
支持樓上的!

  回复  引用  查看    

#3楼 [楼主] 2006-06-27 17:46 仰天一笑      
自己的代码剥下来,有点麻烦,就把原先学习的例子代码贴上了
  回复  引用  查看    

#4楼  2006-06-27 21:28 superstar      
已经运行了,感觉不错有学习的价值!
  回复  引用  查看    

#5楼  2006-08-11 16:45 工 [未注册用户]
我好像不能运行,

“/WebSite10”应用程序中的服务器错误。
--------------------------------------------------------------------------------

分析器错误
说明: 在分析向此请求提供服务所需资源时出错。请检查下列特定分析错误详细信息并适当地修改源文件。

分析器错误信息: 未能加载类型“CommonFunction.smallImg”。

源错误:


行 1: <%@ Page language="c#" Codebehind="smallImg.aspx.cs" AutoEventWireup="false" Inherits="CommonFunction.smallImg" %>
行 2: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
行 3: <HTML>


源文件: /WebSite10/smallImg.aspx 行: 1


--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:2.0.50727.42; ASP.NET 版本:2.0.50727.42
  回复  引用    

#6楼 [楼主] 2006-08-12 14:57 仰天一笑      
@工
1、这个是运行正常,你直接附加到工程中;
2、还有就是,你可以把.cs中的核心代码提取出来自己新写个,也很快的;
3、建议你下载这个文档,里面示例189就是这个,可以参考一下http://www.cnblogs.com/skylaugh/archive/2006/06/27/437143.aspx
  回复  引用  查看    

#7楼  2006-08-16 14:23 shyixun [未注册用户]
用这种方法为生成的缩略图为什么不能用:
例如:不能在网页上显示;不能用图像软件打开(图片有错误).
用解释一下吗?
  回复  引用    

#8楼 [楼主] 2006-08-16 15:54 仰天一笑      
@shyixun
这个表示你在转换操作的时候出现了格式转换错误
你看看下面的格式转换代码,对你有些帮助
string strFilePathName = ImageShow.ImageUrl;
System.Drawing.Image i = System.Drawing.Image.FromFile(strFilePathName);

//以下得到在服务器上保存的文件路径名称
string strFileName = Path.GetFileNameWithoutExtension(strFilePathName);
ImageFormat f = ImageFormat.Bmp;
switch(ddlFormat.SelectedItem.Text.ToLower())//toLower为转换为小写
{
case "bmp":
break;
case "jpeg":
f = ImageFormat.Jpeg;
break;
case "gif":
f = ImageFormat.Gif;
break;
case "png":
f = ImageFormat.Png;
break;
case "tiff":
f = ImageFormat.Tiff;
break;
}
string strSeverPath=tbPath.Text+"\\"+strFileName+"."+
ddlFormat.SelectedItem.Text;
i.Save(strSeverPath,f);
  回复  引用  查看    

#9楼  2006-11-15 20:45 CHowKos [未注册用户]
我源码下载下来运行,显示上传成功,而文件夹却没有图片?这是为什么
  回复  引用    

#10楼  2006-12-07 17:01 刚 [未注册用户]
不知道能不能支持动画gif呀?能不能支持透明的gif呢? 下载下来看看
  回复  引用    

#11楼 [楼主] 2006-12-07 19:02 仰天一笑      
@刚
是支持gif格式图片的
  回复  引用  查看    


标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2006-06-27 17:44 编辑过


相关链接: