Programming/JAVA

애니메이션 이미지인지 아닌지 체크하는 방법(Check image animated or not in JAVA)

빈쿵바라기 2022. 9. 16. 15:05
private boolean isAnimatedImage(String imageFilePath) throws IOException {
	File f = new File(imageFilePath);
	ImageInputStream iis = ImageIO.createImageInputStream(f);

    ImageReader is = ImageIO.getImageReadersBySuffix("GIF").next();
    is.setInput(iis);  

    int imageCnt = is.getNumImages(true);

	// imageCnt가 0보다 크다면 애니메이션 이미지
    if(imageCnt > 0)
        return true;
    else 
        return false;
}

 

파일이 외부 이미지 링크(URL)라면

private boolean isAnimatedImage(String imageFilePath) throws IOException {
    URLConnection openConnection = new URL(imageFilePath).openConnection();
    InputStream input = openConnection.getInputStream();

    BufferedInputStream in = new BufferedInputStream(input);

    ImageInputStream iis = ImageIO.createImageInputStream(in);

    ImageReader is = ImageIO.getImageReadersBySuffix("GIF").next();
    is.setInput(iis);  

    int imageCnt = is.getNumImages(true);

    if(imageCnt > 0)
        return true;
    else 
        return false;
}