找回密码
 注册
搜索
热搜: 回贴

ASP.net:缩略图多路径多格式保存

2009-12-13 13:34| 发布者: admin| 查看: 51| 评论: 0|原作者: 小可爱

■先把代码版出来 usingSystem;......


先把代码版出来
using System;
using System.Drawing;
namespace PubLib
{
///
/// PicShow 的摘要说明。
///

public class PicShow
{
public PicShow()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
//查找图片文件是否存在
public static string ViewPIC(string PicPath, string PicName)
{

string BigPic = Checks.HM_PHYSICSROOT + "MoviePIC/"+Checks.HM_PICROOTPATH+"/"+PicName;
string SmlPic = Checks.HM_PHYSICSROOT + "MoviePIC/"+PicPath+"/"+PicName;
if (null==PicName || false==System.IO.File.Exists(BigPic)) //大图名称为空或文件不存在
PicName = "nopic.jpg";
string OutPic = "MoviePIC/"+PicPath+"/"+PicName;
if (!System.IO.File.Exists(SmlPic)) //查找小图不存在
{
CreatePIC(PicPath, PicName);
return OutPic;
}
return OutPic;
}
//创建缩略图
public static void CreatePIC(string PicPath, string PicName)
{
int iWidth,iHeight;
if (null!=PicPath && PicPath.IndexOf("X")>1)
{
char[] spliter = {'X'};
string[] aPicPath = PicPath.Split(spliter,2);
iWidth = Int32.Parse(aPicPath[0]);
iHeight = Int32.Parse(aPicPath[1]);
string BigPic = Checks.HM_PHYSICSROOT + "MoviePIC/"+Checks.HM_PICROOTPATH+"/"+PicName;
string SmlPic = Checks.HM_PHYSICSROOT + "MoviePIC/"+PicPath+"/"+PicName;
Image BigImage = Image.FromFile(BigPic);
Image SmlImage = BigImage.GetThumbnailImage(iWidth,iHeight,null,new System.IntPtr());
SmlImage.Save(SmlPic,System.Drawing.Imaging.ImageFormat.Jpeg);
BigImage.Dispose();
SmlImage.Dispose();
}
}
}
}

Checks.HM_PHYSICSROOT 是一个静态变量是系统的根路径,你问怎么获得?其实很简单你可以直接写个路径给它。虽然不灵活但也还算简单。我是这么搞的
public static string HM_PHYSICSROOT = AppDomain.CurrentDomain.BaseDirectory;
(其实也简单顾弄玄虚:~)
多路径,也就是说的有点吓人而已,你在生成缩略图的时候指定一个路径就可以了。就是这个参数PicPath是要你手工指定的,多格式说白了就是大小可以调整。我的方法是路径就是大小,比如200*300的图片路径就叫200X300嘿嘿,(上当了吧)~~没事傻人有傻办法啊~~
当然要指定一个图片原始路径,不然从那里得到图片来生成缩略啊。这个Checks.HM_PICROOTPATH就只能手写了,没什么办法。反正一次写了以后也不改动了。

最新评论

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-9-29 23:32 , Processed in 0.232154 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

返回顶部