반응형
Java / 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에게 감사드립니다.
ImageReader.getHeight (int) 및 ImageReader.getWidth (int)를 사용하면 일반적으로 이미지 헤더 만 읽습니다 (JDK6 소스를보고 있습니다). 따라서 ImageReader 가 최선의 선택 일 가능성이 높습니다.
을 (를) 살펴 봐야합니다 ImageReader.getImageMetadata()
. 불행히도 Java Image API는 사용하기가 전혀 쉽지 않습니다.
의 패키지 설명서에서 메타 데이터 형식에 대한 설명을 찾을 수 있습니다 javax.imageio.metadata
.
MediaUtil (3 년 전에 마지막으로 업데이트되었지만 저에게 잘 작동 함) 과 같이 사용하기 쉬운 타사 라이브러리가 있습니다 .
반응형
'code' 카테고리의 다른 글
Maven-jar에 임의의 클래스 경로 항목을 어떻게 추가 할 수 있습니까? (0) | 2020.11.28 |
---|---|
CodeIgniter에서 pconnect 옵션의 장점 / 단점 (0) | 2020.11.28 |
Scala는 꼬리 재귀 최적화를 지원합니까? (0) | 2020.11.27 |
Java에서 String을 char로 또는 char를 String으로 어떻게 변환합니까? (0) | 2020.11.27 |
파이썬 부동에서 정수로 변환 (0) | 2020.11.27 |