我试图访问21帧的动画GIF图像,然后读取第12帧(因为它从0开始?)帧.
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import javax.imageio.ImageIO;
import javax.imageio.ImageReader;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.filefilter.IOFileFilter;
import org.apache.commons.io.filefilter.SuffixFileFilter;
import org.apache.commons.io.filefilter.TrueFileFilter;
public class PictureSearch {
public static void search(File file) {
try {
ImageReader reader = (ImageReader) ImageIO.getImageReadersBySuffix("gif").next();
reader.setInput(ImageIO.createImageInputStream(file), false);
BufferedImage caption = reader.read(12);
System.out.println(caption.getHeight());
System.out.println(caption.getWidth());
caption.flush();
} catch (IOException e) {
System.out.println(e);
}
}
public static void main(String[] args) throws IOException {
List<String> suffixes = new ArrayList<String>();
suffixes.add(".jpg");
suffixes.add(".gif");
suffixes.add(".bmp");
suffixes.add(".png");
Iterator<File> files = FileUtils.iterateFiles(new …Run Code Online (Sandbox Code Playgroud)