Java/ImageIO 在不读取整个文件的情况下获取图像尺寸?

标签 java image dimensions javax.imageio

有没有办法在不读取整个文件的情况下获取图像的尺寸?

URL url=new URL(<BIG_IMAGE_URL>);
BufferedImage img=ImageIO.read(url);
System.out.println(img.getWidth()+" "+img.getHeight());
img=null;

最佳答案

try(ImageInputStream in = ImageIO.createImageInputStream(resourceFile)){
    final Iterator<ImageReader> readers = ImageIO.getImageReaders(in);
    if (readers.hasNext()) {
        ImageReader reader = readers.next();
        try {
            reader.setInput(in);
            return new Dimension(reader.getWidth(0), reader.getHeight(0));
        } finally {
            reader.dispose();
        }
    }
} 

感谢 sfussenegger 的建议

关于Java/ImageIO 在不读取整个文件的情况下获取图像尺寸?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1559253/

相关文章:

r - "Incorrect number of dimensions"错误,帮我理解为什么

java - Wss4jSecurityInterceptor 类未找到错误

java - JDBC - NetBeans x MySQL

java - 重置MediaPlayer后如何准备声音?

image - Matlab 中图像的 3D 图

html - 将 View 聚焦在背景上

excel - 如何返回在 VBA 中传递给它的(变体)变量的维数

java - Servlet 中的单例和 Tomcat7 上的其他类

Python + Flask 图片上传 "No file part"

c# - 使用用户选择的维度创建数组