11/4/2006 12:00:54 AM

Canon Digital Camera 記憶卡歸檔工具 - RAW Support Update

543 | 技術隨筆 | Microsoft.NET

每次貼新東西, 小熊子都會來支持一下... 這次寫的記憶卡歸檔工具, 既然他抱怨了一下不支援 RAW file, 那當然要來找一下 solution.. 哈哈..

順手找了一下, 發現資源真少, 追到最後只有一些 open source 的 project 提供 Canon 的 Raw File Access, 另外 Canon 也有自己的一套 Digital Camera SDK ( free, C++ only ), 要寫信去要, 不過不用收費就是.. 其它都是不成熟的 project, 看起來都不是很可靠 :S

咳, c++ 已經好幾年沒碰了, 拿來唬唬還可以, 真的要動手就算了... 結果剛好讓我找到一條線索... Microsoft 提供一個簡單的 viewer, 可以直接看各家的 RAW file, 名字落落長: Microsoft RAW Image Thumbnailer and Viewer for Windows XP ...

印相中這個工具可以看 canon crw, 而且安裝的系統需求是要裝 .net framework..

"該不會有現成的 .net assembly 可以讀 canon raw file 的內部資訊吧?"

試了一下, 隨便找個看的順眼的 dll 反組譯一下, 老天真是照顧我啊, 中獎!! 哇哈哈... 原本 DigitalCameraFiler.exe 的程式架構其實早就想好要怎麼改了, 只是之前一直找不到適當的 lib..

找到的 assembly 用法很簡單, 只要先裝好 Microsoft RAW Image Thumbnailer and Viewer for Windows XP, 就可以在安裝目錄找到這個 assembly dll: RawManager.Interop.dll

使用的方式也很簡單 (感謝 Microsoft 工程師的 coding style 都很一致... ), 隨便試一下就試出來了:

 

   22     CRawViewerClass raw = new CRawViewerClass();

   23     raw.Load(@"c:\CRW_1234.crw");

   24     Console.WriteLine("Camera Model: {0}", raw.CameraModel);

 

這 Interop assembly 寫的還真不錯... 看起來真正做事的仍然是 Canon Digital Camera SDK... 不過現在我也可以用 C# 很簡單的叫來用, 哈哈, 感覺真爽...

不過還沒挖到可以 edit raw 的 API, 感覺遜了一點, 但是小熊子都說了...

chicken: 不過抓的東西很有限 :S, 也還沒辦法自動轉正
Michael (小熊子): raw 不需要轉正說
Michael (小熊子): raw 只要知道啥米時間拍的應該就 OK

所以這部份就再說了 [H]... 哈哈...

更新過的檔案下載: [DigitalCameraFilerSetup.msi]
使用前請先安裝: Microsoft RAW Image Thumbnailer and Viewer for Windows XP



Comments

11/14/2006 11:35:16 PM #

之前我也有動過腦筋要做Canon的照片檔歸檔(咳... 當然,半途而廢了),想到的賤招是--- CRW檔會附一個.THM檔案(Thumbnail?),其實只是JPG檔Rename罷了,所以EXIF資料從裡面取也成(我只要日期時間,所以還OK)。

Darkthread | Reply

Add comment


(Will show your Gravatar icon)

  Country flag

biuquote
Loading






精選文章

RUN! PC 文章及範例下載
2010/07. 結合檔案及資料庫的交易處理
2010/05. TxF讓檔案系統也能達到交易控制
2010/04. 生產者 vs 消費者 - 執行緒的供需問題
2008/11. 生產線模式的多執行緒應用
2008/09. 用ThreadPool發揮CPU運算能力
2008/06. SEMAPHORE在ASP.NET的應用
2008/04. 以ASP.NET開發同步WEB應用程式

如何學好 "寫程式" 系列
#1. 該如何學好 "寫程式" ??
#2. 為什麼 programmer 該學資料結構 ??
#3. 進階應用 - 資料結構 + 問題分析
#4. 你的程式夠 "可靠" 嗎?

#5. 善用 TRACE / ASSERT

安德魯是誰?

Andrew Wu | Create Your Badge

我喜歡鑽研物件導向、軟體工程及作業系統等相關技術。我會在這裡發表我的研究心得,也當作我自己的學習筆記。


Recent comments

Comment RSS