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