[java] ImageWriteParam 클래스
ImageWriteParam
클래스는 이미지를 쓸 때 사용되는 매개변수를 다루는데에 사용됩니다. 이미지 포맷을 지정하고, 압축 방식 및 품질을 설정하는 데 유용합니다.
사용법
다음은 ImageWriteParam
클래스를 사용하여 JPEG 이미지를 쓰는 예제 코드입니다.
import javax.imageio.ImageIO;
import javax.imageio.ImageWriteParam;
import javax.imageio.ImageWriter;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.Iterator;
public class ImageWriterExample {
public static void main(String[] args) throws IOException {
File input = new File("input.jpg");
BufferedImage image = ImageIO.read(input);
File output = new File("output.jpg");
Iterator<ImageWriter> writers = ImageIO.getImageWritersByFormatName("jpeg");
ImageWriter writer = (ImageWriter) writers.next();
ImageWriteParam writeParam = writer.getDefaultWriteParam();
writeParam.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
writeParam.setCompressionQuality(0.7f);
writer.setOutput(ImageIO.createImageOutputStream(output));
writer.write(null, new javax.imageio.IIOImage(image, null, null), writeParam);
}
}
주요 메서드
setCompressionMode
void setCompressionMode(int mode)
이 메서드는 압축 모드를 설정합니다. 가능한 값으로는 MODE_COPY_FROM_METADATA
, MODE_EXPLICIT
, MODE_DEFAULT
등이 있습니다.
setCompressionQuality
void setCompressionQuality(float quality)
이 메서드는 이미지의 압축 품질을 설정합니다. 값의 범위는 0.0에서 1.0 사이이며, 1.0은 품질이 가장 높고 압축률이 낮은 것을 의미합니다.
setTilingMode
void setTilingMode(int mode)
이 메서드는 타일링 모드를 설정합니다. 가능한 값으로는 MODE_DISABLED
, MODE_DEFAULT
, MODE_EXPLICIT
등이 있습니다.
결론
ImageWriteParam
클래스를 사용하여 이미지를 쓸 때 압축 방식 및 품질을 설정할 수 있습니다. 이를 통해 효율적으로 이미지를 처리하고 저장할 수 있습니다.
더 자세한 내용은 Oracle 공식 문서를 참조하세요.