C#축소판 그림 다중 경로 다중 형식으로 저장된 인스턴스

2572 단어
 
  
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이라고 한다. 헤헤, 당연히 그림의 원시 경로를 지정해야 한다. 그렇지 않으면 거기에서 그림을 얻어 줄임말을 만들어야 한다.이거 체크스.HM_PICROOTPATH는 손으로 쓸 수밖에 없어요. 어쩔 수 없어요.어차피 한 번 쓴 후에도 바꾸지 않겠다.

좋은 웹페이지 즐겨찾기