모든 Exif 이미지 데이터를 복사 한 이미지를 복사하고 싶습니다.jpg Exif 정보 유지
이미지 개체로 jpg를 읽고 크기를 조정 한 다음 이미지 개체를 다른 폴더의 jpg 파일에 기록하는 Java 앱이 있습니다.
문제는 멋진 이미지 정보 (카메라, 날짜 등)가 모두 손실된다는 것입니다. 아이디어가 있으십니까? 안드로이드를위한 있지만
모든 Exif 이미지 데이터를 복사 한 이미지를 복사하고 싶습니다.jpg Exif 정보 유지
이미지 개체로 jpg를 읽고 크기를 조정 한 다음 이미지 개체를 다른 폴더의 jpg 파일에 기록하는 Java 앱이 있습니다.
문제는 멋진 이미지 정보 (카메라, 날짜 등)가 모두 손실된다는 것입니다. 아이디어가 있으십니까? 안드로이드를위한 있지만
,이 솔루션은 자바에 있고 다른 하나 개의 파일에서 모든 EXIF 메타 데이터를 복사하는 데 도움이 될해야합니다 Sanselan 늦게 커먼즈 이미징 및 재 상표되었습니다의
http://bricolsoftconsulting.com/copying-exif-metadata-using-sanselan/
주 여기에서 찾을 수 있습니다 :
하나의 옵션은이 같은 이미지 IO를 사용하는 것입니다
try (ImageInputStream inputStream = new FileImageInputStream(new File("Landscape_3.jpg"))) {
Iterator<ImageReader> readerIterator = ImageIO.getImageReaders(inputStream);
ImageReader reader = readerIterator.next();
reader.setInput(inputStream);
Iterator<IIOImage> imageIterator = reader.readAll(null);
IIOImage image = imageIterator.next();
BufferedImage srcImage = (BufferedImage) image.getRenderedImage();
AffineTransformOp scaleOp = new AffineTransformOp(AffineTransform.getScaleInstance(0.5, 0.5), AffineTransformOp.TYPE_NEAREST_NEIGHBOR);
BufferedImage resultImage = scaleOp.createCompatibleDestImage(srcImage, null);
resultImage = scaleOp.filter(srcImage, resultImage);
image.setRenderedImage(resultImage);
ImageWriter writer = ImageIO.getImageWriter(reader);
try (ImageOutputStream outputStream = new FileImageOutputStream(new File("Landscape_3_preserve_exif.jpg"))) {
writer.setOutput(outputStream);
writer.write(image);
}
try (ImageOutputStream outputStream = new FileImageOutputStream(new File("Landscape_3_discard_exif.jpg"))) {
writer.setOutput(outputStream);
writer.write(image.getRenderedImage());
}
}
함정 :
exif 데이터를 의미합니까? – beerbajay
아니요 - "exif"란 무엇입니까? 나는 그것에 대해 들어 본 적이 없다. –
예 - 그게 내가 필요한거야 - 위키 백과 : Exif 데이터는 이미지 파일 자체에 내장되어 있습니다. 많은 최근의 이미지 조작 프로그램은 수정 된 이미지에 쓸 때 Exif 데이터를 인식하고 보존하지만 대부분의 구형 프로그램에서는 그렇지 않습니다. –