C#縮圖多重路徑多格式儲存的執行個體

來源:互聯網
上載者:User

這篇文章介紹了C#縮圖多重路徑多格式儲存的執行個體,有需要的朋友可以參考一下 複製代碼 代碼如下:
using System;
using System.Drawing;
namespace PubLib
{
 /// <summary>
 /// PicShow 的摘要說明。
 /// </summary>
 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就只能手寫了,沒什麼辦法。反正一次寫了以後也不改動了。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.