我有一個將處理大量圖像的.net 3.5應用程序。我需要檢查圖像擴展是否正確,圖像的高度和寬度以及PPI。我不想將整個圖像加載到.net圖像或位圖中,這會花費很長時間並且會佔用大量資源。我不能使用第三方插件或dll,當然它需要在昨天完成。在不加載整個圖像的情況下讀取圖像標題信息
因此,我正在讀取文件的初始字節,檢查「魔術」數字以確保圖像擴展匹配,然後查看大部分圖像類型的高度和寬度。這是更快,更少資源密集型。我可以使用一些幫助從一些圖像類型中讀取PPI,其中兩種類型已經超出了我對驗證擴展的影響。
BMP,JPG,GIF和PNG我需要幫助閱讀PPI。
- 尋找像位於偏移量xx處的東西。
TIF,EPS和PSD我需要幫助閱讀高度,寬度和PPI。
我幾乎停留在Eps和Psd文件上,任何事情都會有所幫助。
是的,我知道tiflib,它看起來不錯,而且比我需要的方式。只處理高度,寬度和PPI的打火機版本會很棒。如果非要我能做到這一點,但我希望所有的人都有準備:-)
要確定PPI,它不會那麼容易,因爲 「偏移XX」 的所有格式。例如,PNG像素尺寸是可選的(http://www.libpng.org/pub/png/book/chapter11.html#png.ch11.div.8),並且位於塊中以及其他塊中。你必須閱讀塊,直到你發現pHY(如果存在)。其他格式甚至不存儲像素尺寸,或像素尺寸可能不正確(但未被應用程序使用,因此它仍然有效)。 –
PPI也依賴於輸出顯示。使用PPI的文件格式通常用於參考原始輸出設備。 –
EPS和PSD是複合存儲文件。您將無法在特定的偏移量找到您要查找的內容。包含的每個圖像可以是位圖或矢量圖形。這兩種文件類型都可能有大量的圖像。 –