我有一個8位TIFF多數民衆贊成14406x9606像素,當通過BitmapImage加載引發System.OutOfMemoryException。作爲一個完整的深度位圖,其大小約爲400兆像素。有沒有辦法將圖像分割成更易於管理的塊?我嘗試使用DecodePixelHeight以較低的分辨率加載它,並且這可以工作,但是隨後我需要在縮放級別更改時重新加載。是否有任何已建立的工具在不同的縮放級別處理WPF中真正大的圖像?如何處理WPF中的一個巨大的tif?
4
A
回答
1
沒有什麼內置的,直接處理這個。正如你所提到的,DecodePixelHeight
可能是框架本身的最佳選擇。
但是,您可以使用類似C# wrappers for GDAL之類的東西。 GDAL處理非常大的TIFF文件,包括金字塔的文件,並允許您(非常快速地)以各種分辨率打開TIFF,而無需將整個文件加載到內存中。這仍然需要刷新/重新加載分辨率變化,但其TIFF加載速度比框架的成像類要快很多,因爲它旨在處理極大的圖像。
1
你可能想嘗試LibTiff.Net庫。它是用純C#代碼編寫的,免費的,開源的(商業友好的BSD許可證)。
LibTiff.Net可以處理大小爲4 GB的TIFF文件,可用於在不解碼所有樣本的情況下打開文件。該庫還支持多條和平鋪TIFF文件。
聲明:我是圖書館的維護者之一。
相關問題
- 1. 處理一個巨大的access.log文件
- 2. 如何處理巨大的表格?
- 3. 如何處理巨大的表格
- 4. 你如何處理巨大的條件?
- 5. 如何加快處理一個巨大的文本文件?
- 6. 如何正確處理一個巨大的字符串?
- 7. Python:如何處理一個巨大的單行文件?
- 8. 處理巨大的位圖
- 9. 在MySQL中處理巨大的Blob?
- 10. GWT中的巨大數據處理
- 11. 如何在源代碼中處理巨大的SQL字符串
- 12. 如何在硒webdriver中處理巨大的兒童窗口
- 13. 如何處理sapui5表中的巨大數據(> 1000萬)?
- 14. 處理一個巨大的經典asp項目
- 15. 處理巨大的JSON響應
- 16. 處理巨大的SQL結果集
- 17. 處理巨大的數字C,Java,Informix
- 18. 如何處理使用Smarty 3的巨大頁面的緩存
- 19. 如何處理功能的巨大集合在Python 2.7
- 20. 如何處理來自數據庫的巨大結果集
- 21. C#:我應該如何處理巨大數字的算術?
- 22. 如何用symfony和doctrine處理巨大的select查詢?
- 23. 繪製直方圖時如何處理值的巨大差異?
- 24. 如何處理對Facebook Graph的巨大查詢?
- 25. 如何處理在C#.NET從Webservice的巨大JSON數據
- 26. 如何快速處理巨大的XML文件?
- 27. 如何找到一個懸空的命名空間或預處理指令在一個巨大的代碼庫
- 28. 處理多個對象,如一個 - WPF
- 29. 處理日誌/交易量巨大
- 30. 在C中處理巨大的xml文件的方法#