線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1292
推到 Plurk!
推到 Facebook!

如何将缩略图存储到一个档案中

尚未結案
No_War
一般會員


發表:5
回覆:6
積分:2
註冊:2003-04-11

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-12-09 15:46:55 IP:218.17.xxx.xxx 未訂閱
各位大大,小弟想问个问题,就是如何将缩略图存储到一个档案中去? 又可以迅速的从该档案中还原成缩略图,类似ACDSee中,他会将缩略图 存储到一个档案中,等下次再浏览该资料夹的时候,会马上显示出来, 我也要做一个这样的存储档,我该怎么做呢? 望指点指点,向行谢谢了!!!!!
RedSnow
版主


發表:79
回覆:1322
積分:845
註冊:2003-12-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-12-10 16:41:29 IP:61.217.xxx.xxx 未訂閱
No_War 您好:    為了方便說明,以下使用 "縮圖快取檔" 一詞來替代您描述的 "存儲檔"。 當您建立好縮圖資料後,透過 ImageList 的 Width, Height, Count 屬性可以知道縮圖的寬、高、數量,您可以建立一個 Width 乘以 Count、高度為 Height 的 Bitmap,然後用一個迴圈來配合 ImageList 的 GetBitmap 函式取得各個圖示的內容,然後依序將每個縮圖畫到前述的 Bitmap 物件上,最後再用 Bitmap 物件的 SaveToFile() 函式來儲存那個 "縮圖快取檔"。 當您寫好上述的功能後,您可以在切換目錄的地方加上檢查動作,檢查是否有相對應的 "縮圖快取檔" 存在?若存在的話,就建立一個暫存的 Bitmap 物件,並使用它的 LoadFromFile() 函式來載入該檔案,然後將載入後的圖檔寬度除以原先紀錄下來縮圖尺寸 (或是固定的尺寸) 之寬度,以這個數字為迴圈條件,將前述 Bitmap 的縮圖內容逐張取出,然後設給 ImageList。 上述是建立與使用縮圖快取檔的基本概念與步驟,您還需要針對目錄內檔案的變動作一些檢查與相對應的處理,否則可能會在實際的操作時產生混淆,例如:檔案增加時以及檔案被刪除時,均應重建縮圖快取檔。 以上是我的作法,您參考看看吧。 7 天天敲鍵盤 v 時時按滑鼠 8
No_War
一般會員


發表:5
回覆:6
積分:2
註冊:2003-04-11

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-12-13 11:11:13 IP:219.134.xxx.xxx 未訂閱
感谢RedSnow 大大的指点, 我之前有考虑过用这个方法,但有个疑虑就是, 如果缩略图太多的时候,那么存储缩略图的bmp的档案 就很大了,是否会占用较多的内存,不过我会按照您指点的 方法来做一下,看看效果如何,非常感谢您的指点,谢谢!!!! 另外,还有个问题也一直在困扰着我,就连ACDSee,和微软的图片浏览 都存在这个问题,以ACDSee为例说一下,就是在浏览某个资料夹以后, 他会将所看到缩略图都存储到一个档案中,这时,如果我用PhotoShop等 作图软件打开该资料夹中的某个图片,并作了一些修改存储后, 再用ACDSee来看该资料夹的时候,你会发现ACDSee显示的缩略图还是 没有修改前的图片,而并没有自动更新刚才我用PhotoShop修改过的 那个图片,像这样的问题我该如何来解决呢?请各位大大给小弟一点 点建议,先谢谢了!!!!
系統時間:2024-04-28 8:36:41
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!