JPEG 이미지에서 EXIF 메타 데이터가 포함되어 이미지가 표시되는 방향을 알려줍니다.ImageIO.read()는 EXIF 방향 메타 데이터를 고려합니까?
자바의 ImageIO.read()
이 JPEG 이미지를 읽는 동안 EXIF를 고려하여 자동으로 변환을 적용할지 여부는 문제입니다.
더 구체적으로 말해서 EXIF가있는 JPEG 이미지를 PNG 이미지로 변환하는 데 Java ImageIO
을 사용하면 PNG 이미지의 방향이 올바른 것입니까? 아니면 아래 코드가 EXIF 방향 지침을 고려하지 않고 PNG 이미지를 생성합니까?
private byte[] convertToPng(byte[] imageFileAsByteArray) {
ByteArrayInputStream bis = new ByteArrayInputStream(imageFileAsByteArray);
BufferedImage bi = ImageIO.read(bis);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ImageIO.write(bi, "png", bos);
return bos.toByteArray();
}
'ImageIO.read()'는 (는) exif를 읽지 않습니다. ImageReader 클래스를 사용하여 이미지 메타 데이터를 읽고 복사해야합니다. – Uata
메타 데이터를 복사하고 싶지 않습니다. PNG 이미지에는 EXIF 항목이 없습니다. EXIF 값에 따라 이미지를 변환 한 다음 EXIF 항목을 잊어 버린 다른 형식으로 저장하려고합니다. – SomethingSomething
예, PNG. 죄송합니다. 그러나 어쨌든 메타 데이터를 수동으로 추출하여 이미지를 변환하는 데 사용해야합니다. 이 라이브러리도 좋습니다 : https://github.com/drewnoakes/metadata-extractor – Uata