實驗: 用CxImage在同一個DC上顯示多幅PNG
CxImage工程rul:
http://www.codeproject.com/KB/graphics/cximage.aspx
下載後,重新調整了CxImage工程的標頭檔案, 在IDE中把CxImage子工程依賴關係和.lib, .h, .dll的輸出重新制定.
修改CxImage自帶的Demo包含的.h,.lib, 除錯目錄, 測試通過. 和原版的效果相同.
另外開工程,在Dlg中同一個Picture Control中顯示一副靜態的png和輪流開啟24幅png用來顯示動畫. 靜態顯示的png效果很好,輪流開啟的png重新整理有問題.
查閱CxImage的跟貼, 發現很多人有這種應用.比如:
1. 從監控用的數字相機中得到圖片後,不定時的顯示在dc上.
2. 由程式控制, 不同條件下,顯示不同圖片.
作者'Davide Pizzolato'沒有給出正面回答. 也許作者已經解決了這個問題。
CxImagtif開啟.tiff檔案可以解決動畫顯示的問題。tiff是256色的, 顯示沒有.png好. tiff是多幀, 可以控制播放指定幀。這個實驗暫時不用播放.tiff的方式, 因為能隨時指定播放哪張圖片更有意義.
現在要從跟貼中找出這種應用的解決方法. 不過這貼子確實太火了,從2001~2010之間跟貼不斷, 翻到70多頁, 還沒翻到第一頁再哪! 得慢慢的來看跟貼。找出這種應用的解決方法.
作者提供了一個demo, 用來在picture control中用cximage顯示圖片.
url: www.xdp.it/tmp/cximage/picturetest.zip
驗證結果: Picture Control 用上面Demo中的程式碼,只能顯示.BMP的資源, PNG的顯示不了.
Picture Control的設定
原始程式碼
實驗程式碼
失敗的顯示效果, 透明的PNG的內容是一個轉動的時鐘指標, 但是顯示成了轉動的黑白塊。
如果Picture 的Type 屬性不是Bitmap, 則什麼都顯示不出來.
作者給出瞭解決方法如下:
|
原來沒有連線最完整的CxImageDll.
我編譯CxImage時, 確實沒有注意是否打開了所有圖片格式的開關.晚上再做個實驗來驗證這點.
既然作者這麼說的, 自然他已經過做實驗.