ImageIO를 사용하여 이미지를 JPEG로 저장할 때 압축 수준을 조정하여 이미지 품질 간의 균형을 제어하려는 것이 일반적입니다. 그리고 파일 크기. 그러나 기본 ImageIO 기능에는 이 옵션이 없습니다.
압축 수준을 명시적으로 설정하려면 ImageIO API에 대해 더 자세히 살펴봐야 합니다. ImageIO.getImageWritersByFormatName("jpg").next()를 사용하면 JPEG 형식에 대한 특정 매개변수를 수정할 수 있는 ImageWriter에 대한 액세스가 제공됩니다.
ImageWriteParam 클래스는 압축 설정에 대한 제어를 제공합니다. ImageWriteParam.setCompressionMode(ImageWriteParam.MODE_EXPLICIT)를 설정하면 명시적인 압축 수준 설정이 활성화됩니다.
압축 수준을 지정하려면 ImageWriteParam.setCompressionQuality(0.7f)를 사용하세요(0.7f는 원하는 압축 수준을 나타냄). 1.0에 가까울수록 품질은 높고 압축률은 낮으며, 값 0.0에 가까울수록 품질은 낮고 압축률은 높습니다.
ImageWriter.setOutput() 메서드에는 ImageOutputStream이 필요하며, 이를 통해 이미지의 목적지. 파일 출력에는 FileImageOutputStream을 사용하고 메모리 버퍼로 출력하려면 MemoryCacheImageOutputStream을 사용합니다.
수정된 JPEG를 저장하려면 jpgWriter.write(null, outputImage, jpgWriteParam)를 사용합니다. 여기서 outputImage는 이미지 데이터를 포함하는 IIOImage이고 jpgWriteParam 이전에 구성한 압축 설정입니다.
이 접근 방식을 사용하면 JPEG 압축 수준을 세밀하게 제어할 수 있으므로 특정 요구 사항에 맞게 이미지 품질과 파일 크기를 최적화할 수 있습니다.
위 내용은 ImageIO를 사용하여 JPEG 이미지에 대한 명시적인 압축 수준 제어를 달성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!