Java에서 ImageIO를 사용하여 JPEG 압축 수준 설정
Java에서 ImageIO는 이미지 조작을 위한 다목적 라이브러리입니다. 그러나 이미지를 작성할 때 JPEG 압축 수준을 설정하는 명시적인 방법이 부족합니다. 이 문서에서는 ImageIO API를 사용하여 압축 품질을 조정하는 방법을 보여줌으로써 이러한 제한 사항을 해결합니다.
해결책
JPEG 압축을 제어하는 한 가지 접근 방식은 ImageWriteParam 클래스를 활용하는 것입니다. 다음 단계에서는 프로세스를 간략하게 설명합니다.
예제 코드:
<code class="java">ImageWriter jpgWriter = ImageIO.getImageWritersByFormatName("jpg").next(); ImageWriteParam jpgWriteParam = jpgWriter.getDefaultWriteParam(); jpgWriteParam.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); jpgWriteParam.setCompressionQuality(0.7f); ImageOutputStream outputStream = new FileImageOutputStream(new File("output.jpg")); jpgWriter.setOutput(outputStream); IIOImage outputImage = new IIOImage(image, null, null); jpgWriter.write(null, outputImage, jpgWriteParam); jpgWriter.dispose();</code>
이 코드 조각은 명시적으로 압축 품질을 0.7로 설정하여 품질과 파일 크기가 균형을 이루는 이미지를 생성합니다. .
참고:
예제에서는 출력을 작성하기 위한 이미지 변수와 File 개체가 있다고 가정합니다. 또한 MemoryCacheImageOutputStream 클래스는 메모리 버퍼에 쓸 때 FileImageOutputStream을 대체합니다.
위 내용은 Java에서 ImageIO를 사용하여 JPEG 압축 수준을 제어하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!