C#縮略圖多路徑多格式保存的實(shí)例
更新時(shí)間:2013年07月23日 10:22:35 作者:
這篇文章介紹了C#縮略圖多路徑多格式保存的實(shí)例,有需要的朋友可以參考一下
復(fù)制代碼 代碼如下:
using System;
using System.Drawing;
namespace PubLib
{
/// <summary>
/// PicShow 的摘要說(shuō)明。
/// </summary>
public class PicShow
{
public PicShow()
{
//
// TODO: 在此處添加構(gòu)造函數(shù)邏輯
//
}
//查找圖片文件是否存在
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)) //大圖名稱(chēng)為空或文件不存在
PicName = "nopic.jpg";
string OutPic = "MoviePIC/"+PicPath+"/"+PicName;
if (!System.IO.File.Exists(SmlPic)) //查找小圖不存在
{
CreatePIC(PicPath, PicName);
return OutPic;
}
return OutPic;
}
//創(chuàng)建縮略圖
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 是一個(gè)靜態(tài)變量是系統(tǒng)的根路徑,你問(wèn)怎么獲得?其實(shí)很簡(jiǎn)單你可以直接寫(xiě)個(gè)路徑給它。雖然不靈活但也還算簡(jiǎn)單。我是這么搞的
public static string HM_PHYSICSROOT = AppDomain.CurrentDomain.BaseDirectory;
(其實(shí)也簡(jiǎn)單顧弄玄虛:~)
多路徑,也就是說(shuō)的有點(diǎn)嚇人而已,你在生成縮略圖的時(shí)候指定一個(gè)路徑就可以了。就是這個(gè)參數(shù)PicPath是要你手工指定的,多格式說(shuō)白了就是大小可以調(diào)整。我的方法是路徑就是大小,比如200*300的圖片路徑就叫200X300嘿嘿,當(dāng)然要指定一個(gè)圖片原始路徑,不然從那里得到圖片來(lái)生成縮略啊。這個(gè)Checks.HM_PICROOTPATH就只能手寫(xiě)了,沒(méi)什么辦法。反正一次寫(xiě)了以后也不改動(dòng)了。
相關(guān)文章
C#執(zhí)行表達(dá)式樹(shù)(Expression Tree)的具體使用
本文將深入探討表達(dá)式樹(shù)的基本概念、創(chuàng)建方法、修改和刪除節(jié)點(diǎn)、查詢(xún)和遍歷技巧以及在C#中的應(yīng)用示例,具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03
C#操作SQLite數(shù)據(jù)庫(kù)幫助類(lèi)詳解
這篇文章主要介紹了C#操作SQLite數(shù)據(jù)庫(kù)幫助類(lèi),詳細(xì)分析了C#針對(duì)sqlite數(shù)據(jù)庫(kù)的連接、查詢(xún)、分頁(yè)等各種常見(jiàn)操作的實(shí)現(xiàn)與封裝技巧,需要的朋友可以參考下2017-07-07
C#實(shí)現(xiàn)SMTP服務(wù)發(fā)送郵件的示例代碼
這篇文章主要為大家詳細(xì)介紹了如何利用C#實(shí)現(xiàn)SMTP服務(wù)發(fā)送郵件的功能,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)C#有一定的幫助,感興趣的小伙伴可以跟隨小編一起了解一下2022-12-12
C#多線(xiàn)程之線(xiàn)程池ThreadPool詳解
本文詳細(xì)講解了C#多線(xiàn)程之線(xiàn)程池ThreadPool,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-05-05
基于WPF實(shí)現(xiàn)一個(gè)簡(jiǎn)單的音頻播放動(dòng)畫(huà)控件
這篇文章主要介紹了如何利用WPF實(shí)現(xiàn)一個(gè)簡(jiǎn)單的音頻播放動(dòng)畫(huà)控件,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)或工作有一定幫助,需要的可以參考一下2022-07-07

