1
ImageIO
일반 ImageWriteParam
가지는 새로운 이미지를 저장없이 (예. PNG, JPEG, GIF)을 사용 이미지 압축 알고리즘 1.0f
(고화질)에 0.0f
범위 (고압축)에서 compressionQuality
파라미터를 명시 적으로 설정을 지원한다.IIOMetadata에서 이미지 압축 품질을 얻는 방법은 무엇입니까?
- 기존 이미지에서
compressionQuality
을 읽을 방법이 있습니까? compressionQuality
매개 변수는ImageWriter
에 대한 힌트 일 뿐이며 이미지의 메타 데이터에 저장되지 않습니까? 이미지 저장 소프트웨어 (예 : 김프)가 '다른 이름으로 저장'대화 상자에서 다음 옵션을 제공하는 방법은 사실입니까?
나는 다른 XML 형식 (보통, 기본 및 javax_imageio_1.0
기준)의 이미지 메타 데이터를 출력 할 ImageInputStream
에서 IIOMetadata
를 읽고 그 metadataFormatNames
을 반복 할 수 있었다. 거기에 이미지의 compressionQuality
의 표시를 찾을 수는 없지만.
일부 소프트웨어 및 일부 이미지 형식 *은 일반적으로 사용자가 원하는대로 할 수없는 정보를 저장할 수 있지만. jpeg를 "80 % 품질"로 저장하십시오 (그것이 무엇을 의미하든). 이제 그것을 PNG로 변환하십시오. 이제 "80 % 품질"로 저장된 JPEG로 다시 변환하십시오. 파일 형식이 품질을 저장하더라도, 당신은 무엇을 얻을 것입니까? 80 %? 그것은 완전히 틀릴 것입니다. 그것은 80 %의 80 %입니다 ("80 %"가 의미하는 바에 관계없이). 또한 일부 형식의 경우 "압축 품질"은 압축기의 품질에 따라 다릅니다. 한 프로그램의 "80 %"퍼센트는 일부 형식의 경우, 다른 프로그램의 "70 %"등일 수 있습니다. – SyntaxT3rr0r