我目前使用MFC/GDI和Stingray在我的應用程序中顯示位圖,並且正在尋找更好的解決方案。特別;任何用於顯示大型位圖的良好C++庫
- 更快的繪圖速度 - 我現在的解決方案是緩慢的,基於的StretchDIBits
- 更好的渲染質量 - 的StretchDIBits縮放位圖旋轉的位圖
- 支持時渲染質量是可怕的
- 支持加載/保存在所有流行的格式
- 支持大的位圖 - 我經常使用的航空照片是〜64mb的12,000x12,000 jpegs。 GeoTIFF文件的支持也將是有益的
- 與MFC文檔/視圖,包括打印兼容(如必須能夠呈現到CDC)
- 訪問源代碼,是好的,但沒有必要
- 易於使用/端口現有的GDI代碼
雖然免費總是很好,但我不介意花費一個合理的金額在一個體面的圖書館,雖然沒有運行時間的版稅費用。谷歌搜索建議如下;
任何人得到的這些經驗或能推薦一個很好的替代品?
我看到您將JPEG的縮放比例超過了8倍。在這種情況下,您應該在JPEG級別完成縮放,而不是位圖。這是*方式*更快。 JPEG使用傅立葉分量壓縮8x8像素的塊。顯式存儲的{0,0}組件是平均值。因此,將JPEG圖像縮小8倍是血腥快速和相當平凡的。您會從12000 * 12000像素JPEG中獲得1500 * 1500的位圖,並且很可能您的磁盤速度將成爲此處的限制因素。 – MSalters 2010-06-04 11:59:59
@ MSalters,很好的評論,並且我使用的命令是StretchDIBits,我猜你說的是真的。更有理由採用不同的方法。 – 2010-06-04 13:48:04