我有一個GIF圖像,我希望能夠檢測GIF是否是動畫GIF或不使用JAVA。這個問題是關於檢測而不是顯示gif。瞭解GIF動畫或不在JAVA
我看到動態gif的MIME類型與靜態gif沒有區別。
我該怎麼做?
我有一個GIF圖像,我希望能夠檢測GIF是否是動畫GIF或不使用JAVA。這個問題是關於檢測而不是顯示gif。瞭解GIF動畫或不在JAVA
我看到動態gif的MIME類型與靜態gif沒有區別。
我該怎麼做?
您需要一個ImageReader。如果大小爲1,則它不是動畫,上面的所有內容都是動畫。 檢查了這一點:
public Snippet() {
File f = new File("test.gif");
ImageReader is = ImageIO.getImageReadersBySuffix("GIF").next();
ImageInputStream iis;
try {
iis = ImageIO.createImageInputStream(f);
is.setInput(iis);
int images= is.getNumImages(true);
} catch (IOException e) {
e.printStackTrace();
}
}
我只是建議在'finally'塊中關閉流,以便爲答案添加完整性。 – Simeon
或者像這樣: ''try(ImageInputStream iis = ImageIO.createImageInputStream(f){'' 當使用Java> 6 –
可能重複:http://stackoverflow.com/questions/2935232/show-animated-gif-in-java – bknopper
你應該能夠手動解析文件頭。看看[這個線程](http://www.velocityreviews.com/forums/t146605-identifying-animated-gifs.html)。 –
@bknopper不是重複的,因爲這個問題不是關於展示,而是關於檢測動畫GIF。 –