2011年3月7日 星期一

.NET 存取 圖片EXIF資訊

要使用.NET的BCL來讀取圖片的EXIF資訊,可以使用以下方法:



   1:  Image img = Image.FromFile("圖檔路徑");
   2:  PropertyItem[] pt = img.PropertyItems;

所取回的pt陣列內的資訊即EXIF,但是美中不足的是
裡面的資訊均為ASCII碼,尚須要自行轉換,麻煩的很。

所以在www.codeproject.com網站中,有好心人已經將苦差事做完了。
網址在 : EXIFextractor library to extract EXIF information

至網站下載原始碼或組件,便可以使用以下的程式碼列舉出照片的所有EXIF資訊了。


   1:  Goheer.EXIF.EXIFextractor er2 = 
   2:    new Goheer.EXIF.EXIFextractor(@"圖片路徑", "", "");
   3:  foreach (System.Web.UI.Pair s in er2)
   4:  {
   5:      Console.WriteLine(s.First + " : " + s.Second);
   6:  }
   7:  Console.WriteLine(er2["User Comment"]);

結果如下:


自訂 字串轉日期 的格式

在一般文章常常看到的都是日期轉字串輸出..
但是如果是字串轉日期要接入程式中處理...就很不常見了..

DateTime類別中提供了ParseExact 方法,
能夠協助我們任何格式的日期字串轉換為DateTime物件..
例如  "2011:02:25 17:56:56"  這樣的字串,一般DateTime的Parse方法是轉不過的.
因為年月日之間的間隔符號為 " : ",所以無法用一般的方法來轉換.

所以可以使用以下的程式碼


   1: CultureInfo provider = CultureInfo.InvariantCulture;
   2: string dateString = "2011:02:25 17:56:56";
   3: string format = "yyyy:MM:dd HH:mm:ss";
   4: DateTime result = DateTime.ParseExact(dateString, format, provider);
   5: Console.WriteLine("{0} converts to {1}.", dateString, result.ToString());

該方法有三個參數

1. 日期字串,包含要轉換的日期和時間。

2. 格式化字串,定義轉換日期字串的所需格式。

        可使用標準 DateTime 格式模式與自訂的 DateTime 格式模式
        詳細資訊可參考DateTimeFormatInfo 類別

3. 格式化provider,提供關於日期字串的文化特性資訊。

        如果不使用,可以跟上述程式碼一樣,使用
        "CultureInfo.InvariantCulture"來取得與文化特性無關的文化特性物件

2010年11月10日 星期三

在網頁上貼上程式碼格式的工具網站

如題:
http://www.manoli.net/csharpformat/


可以轉出像下面這樣的格式

格式一 :


   1:          If Page.IsPostBack = False Then
   2:          
   3:              Response.Write("Hello")
   4:              
   5:          End If


格式二:


If Page.IsPostBack = False Then
Response.Write("Hello")
End If


格式三:



   1:          If Page.IsPostBack = False Then
   2:          
   3:              Response.Write("Hello")
   4:              
   5:          End If

2010年11月8日 星期一

ASP.NET 自訂控制項設計工具 文件資訊

ASP.NET在設計自訂控制項的時候.
有時需要開發工具(Visual Studio)的設計上的支援(即Smart Task)



這時候就可以為該控制項設計Disinger的類別.即可讓工具支援了.

文件參考如下:
"ASP.NET Control Designers Overview"
http://msdn.microsoft.com/en-us/library/wxh45wzs.aspx

另外,控制樣板控制項的繫結文件:
" Building Templated Custom ASP.NET Server Controls"
http://msdn.microsoft.com/en-us/library/aa478964.aspx

.NET 存取註冊機碼(Registry Key)

.NET中有一個類別可以替我們存取OS的註冊機碼...

他叫 "RegistryKey"

MSDN的參考網址為:

http://msdn.microsoft.com/en-us/library/microsoft.win32.registrykey.aspx

2010年11月3日 星期三

Visual Studio 工具箱圖示都不見或大量重複出現

Visual Studio的工具箱有時候會秀斗
造成圖示不見或大量重複出現..

重匯環境設定如果還是沒有作用。

這時候只需要

1.用[檔案總管]瀏覽以下目錄

* Vista- C:\Users\<你的Windows帳戶名稱>\AppData\Local\Microsoft\VisualStudio\9.0
* Windows- C:\Documents and Settings\<你的Windows帳戶名稱>\Local Settings\Application Data\Microsoft\VisualStudio\9.0

2.將此目錄下副檔名為.tbd的檔案全刪除 (如果沒看到請檢查[檔案總管]Tools -> Folder Options -> View 下的相關設定以顯示隱藏檔案)

3.重新開啟 Visual Studio後,[工具箱]就會回復正常了!

Visual Studio 的 Server Explorer 叫不出來的解決方法

Visual Studio 的 Server Explorer 有時候會當 叫不出來...

這時候可以開啟Visual Studio的 Visual Studio Command Prompt工具

然後再執行以下指令即可

devenv /resetskippkgs