0
我一直在使用java.mageio.stream api讀取一個gif圖像作爲ImageInputStream。有沒有辦法可以解析器「手動」流,以找到圖像描述符塊的開始索引位置?根據Gif文檔,圖像分隔符 - 標識圖像描述符的開始,固定值0x2C。我一直在讀取流的每個字節並將其與「0x2c」值進行匹配,但顯然這是不正確的,因爲有「屬性」多於一個字節值。 我正在嘗試手動執行此操作,因爲我正試圖避免在此時加載整個圖像。 任何想法都會比歡迎。 在此先感謝Gif圖像描述符索引
不知道你爲什麼想要這樣做,但它肯定是可行的,如果你知道GIF格式和它用來存儲數據的結構。閱讀http://www.w3.org/Graphics/GIF/spec-gif89a.txt。簡單地搜索「0x2c」將不起作用。 – haraldK
PS:爲什麼不使用'ImageIO'和'ImageReader.getImageMetadata()'?它會在沒有閱讀圖像的情況下提供大部分信息。有沒有從你需要的GIF的任何具體信息,你無法從中獲得?你還沒有說*你爲什麼要讀圖像描述符。 – haraldK
@haraldH基本上我需要得到正確的圖像高度和寬度。我最終使用了ImageReader.getHeight()和ImageReader.getWidth()方法,根據文檔只讀取Image inputStream中的必要信息。我會嘗試你的建議也謝謝。 – user1479847