zl程序教程

您现在的位置是:首页 >  后端

当前栏目

C#缩略图多路径多格式保存的实例

c#实例 格式 保存 缩略图 多路径
2023-06-13 09:15:03 时间
复制代码代码如下:

usingSystem;
usingSystem.Drawing;
namespacePubLib
{
 ///<summary>
 ///PicShow的摘要说明。
 ///</summary>
 publicclassPicShow
 {
 publicPicShow()
 {
  //
  //TODO:在此处添加构造函数逻辑
  //
 }
 //查找图片文件是否存在
 publicstaticstringViewPIC(stringPicPath,stringPicName)
 {
  stringBigPic=Checks.HM_PHYSICSROOT+"MoviePIC/"+Checks.HM_PICROOTPATH+"/"+PicName;
  stringSmlPic=Checks.HM_PHYSICSROOT+"MoviePIC/"+PicPath+"/"+PicName;
  if(null==PicName||false==System.IO.File.Exists(BigPic))//大图名称为空或文件不存在
   PicName="nopic.jpg";
  stringOutPic="MoviePIC/"+PicPath+"/"+PicName;
  if(!System.IO.File.Exists(SmlPic))//查找小图不存在
  {
   CreatePIC(PicPath,PicName);
   returnOutPic;
  }
  returnOutPic;
 }
 //创建缩略图
 publicstaticvoidCreatePIC(stringPicPath,stringPicName)
 {
  intiWidth,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]);
   stringBigPic=Checks.HM_PHYSICSROOT+"MoviePIC/"+Checks.HM_PICROOTPATH+"/"+PicName;
   stringSmlPic=Checks.HM_PHYSICSROOT+"MoviePIC/"+PicPath+"/"+PicName;
   ImageBigImage=Image.FromFile(BigPic);
   ImageSmlImage=BigImage.GetThumbnailImage(iWidth,iHeight,null,newSystem.IntPtr());
   SmlImage.Save(SmlPic,System.Drawing.Imaging.ImageFormat.Jpeg);
   BigImage.Dispose();
   SmlImage.Dispose();
  }
 }
 }
}

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