2012-10-21 83 views
0

我正試圖獲取此刻的apng圖像的元數據。我有 能夠完美地從一個apng文件中獲取不同的幀,並且我正在使用PNGJ(一個用於讀取和編寫PNG圖像的非常棒的獨立Java庫),但我無法獲得針對每個存儲的不同信息像每幀延遲的apng幀。獲取APNG圖像的元數據

我此刻的只是能夠得到由使用

PngReader pngr = FileHelper.createPngReader(File); 
pngr.imgInfo; 

存儲在標題部分簡單的PNG圖像信息,但我不知道如何有存儲對FCTL塊的信息。我怎樣才能做到這一點?

回答

1

您省略了使用PNGJ庫的信息。正如我在其他answer中提到的,這個庫不解析APGN塊(fcTL,fdAT)。它加載它們(你可以在ChunksList屬性中檢查它們),但是它們會被安裝爲「UNKNOWN」塊,因此二進制數據將以原始形式保留。如果您想查看fcTL塊的內容,您可以自己解析二進制文件,也可以自己實現該塊類型的邏輯並將其註冊到讀取器中(here's an example爲自定義塊)。

1

看看你目前如何從fdAT中讀取4個字節的整數'seq'。

您可以用同樣的方法從fcTL讀取信息。

請記住,一些信息存儲在fcTL中爲4個字節,一些爲2個字節,一些爲1個字節。

+0

閱讀它們爲4字節和2字節,這一點真的幫了我很多:) 謝謝 –