作者hamsters (hamster)
看板C_Sharp
標題FotoAlbum 數位相簿管理程式
時間Wed Nov 14 23:30:44 2007
因為自己電腦中有滿多照片,一些影像管理軟體又用的不太順手 (其實是自己想寫程式)
,所以就自己用 C# 寫了一個影像管理軟體 FotoAlbum,它主要是管理影像而不是瀏覽影
像,當然也是可以瀏覽影像,只不過不是像 ACDSee 那樣直接瀏覽硬碟中任意位置的影像
,FotoAlbum 中是將影像整理成一本一本的相簿,而程式中能瀏覽的影像就是相簿中的影
像,所以應該說這是一個數位相簿管理程式。
目前相簿的定義其實就是檔案系統中的一個目錄,配合一個相簿資料庫檔案來記錄相簿資
訊,相簿資料庫檔案是直接存放在相簿所在目錄中,所以要移動相簿的話就直接從檔案總
管中移動相簿目錄,可以不透過 FotoAlbum。
目前 FotoAlbum 支援讀取的影像格式就是 GDI+ 內建的BMP/EMF/GIF/JPEG/PNG/TIFF/WMF
不過影像解碼器及編碼器可以外掛,也就是可以自己寫一個影像解碼器來增加 FotoAlbum
支援的影像格式。
FotoAlbum 內建了一些影像調整功能,例如亮度、對比、飽和度等,所以一些簡單的影像
調整可以直接在 FotoAlbum 中進行。
程式也內建了一些網路相簿的下載功能 (其實是透過外掛方式),例如無名小站、yam天空
部落、Picasa 等,和一般抓圖程式不一樣的是它也會把影像的標題及描述文字一起下載
,直接匯入變成 FotoAlbum 相簿影像的標題及描述。
FotoAlbum 另一個特色是可以外掛,因為自己不可能寫太多功能,所以就透過外掛功能讓
FotoAlbum 的功能更為完整,目前可以外掛的功能有:
● 影像濾鏡:包含『調整影像』及『套用特效』。
● 匯入引擎:將外部影像匯入至 FotoAlbum 相簿之功能,例如網路相簿下載。
● 匯出引擎:將 FotoAlbum 中的影像匯出 (即分享) 至其他位置之功能。
● 列印引擎:列印 FotoAlbum 中的影像。
● 工具:提供任意功能。
● 背景物件:背景常駐物件。
● 影像解碼器:提供影像讀取功能。
● 影像編碼器:提供影像儲存功能。
網站:
http://fotoalbum.openfoundry.org/
下載網頁:
http://fotoalbum.openfoundry.org/Download.htm
==============================================================================
目前只是 Alpha 版,功能還不是很多,但各功能都至少有一個子功能提供測試。其實本
來是想先自己找人測試一段時間後再公開,不過自己能找到的測試人員太少了,所以就直
接開放讓大家測試,這樣錯誤應該也比較容易找出來吧。
寫程式時有碰到滿多問題,有些問題其實資料不是很多,所以我有整理出一些我覺得比較
特別的問題放在網站中的『技術資訊』,例如如何快速取得影像縮圖、如何直接取得中繼
資料而不用載入整張影像等,不過目前整理完的資料不是很多,以後會慢慢補上。
程式碼部分會公開,但現在專案中的檔案還有些混亂 (很多測試用或遺棄的檔案),所以
等我整理完成後會補上,如果堅持馬上要看程式碼的話就先用 Reflector 應急一下吧。
之前在 Windows Vista (裝在 VMWare)上執行時有發現一些問題,不過沒有實機很難偵錯
,所以問題暫時還沒解決。
==============================================================================
下面是 FotoAlbum 所使用的第三方類別庫:
● Explorer Tree Control
可以選擇目錄的 TreeView。
http://www.codeproject.com/vb/net/VbNetExpTree.asp
● System.Data.SQLite
整合 ADO.NET Data Provider for SQLite 和原始 SQLite 的類別庫。
http://sqlite.phxsoftware.com/
● #ziplib (SharpZipLib)
提供壓縮/解壓縮功能。
http://www.icsharpcode.net/
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.216.216.154
推 huge:好強.. 11/15 00:36
推 lulala13:好厲害...@@" 11/15 13:40
推 einspon:寫的不錯 11/15 17:20
推 DVSB:強者推一個! 11/27 22:06