다양한 시나리오에서 이미지는 파일 크기를 줄이기 위해 압축됩니다. 이를 위해 다양한 온라인 또는 오프라인 응용 프로그램에서 이미지 압축을 적용할 수 있습니다. 그러나 경우에 따라 웹 또는 데스크톱 응용 프로그램 내에서 이미지 압축 기능을 구현해야 할 수도 있습니다. 이러한 경우 이 문서에서는 Java를 사용하여 프로그래밍 방식으로 PNG, JPEGTIFF를 포함한 이미지를 압축하는 방법을 다룹니다.

자바 이미지 압축 API

Aspose.Imaging for Java는 Java 애플리케이션 내에서 다양한 이미지 처리 작업을 수행할 수 있는 강력한 API입니다. 또한 PNG, JPEG 및 TIFF 이미지를 원활하게 압축할 수 있습니다. API를 사용하려면 해당 JAR을 다운로드하거나 Maven 기반 애플리케이션 내에 설치할 수 있습니다.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-imaging</artifactId>
    <version>20.12</version>
    <classifier>jdk16</classifier>
</dependency>

Java에서 PNG 이미지 압축

PNG 형식은 무손실 압축을 지원합니다. 즉, PNG 이미지를 압축하면 파일 크기는 줄어들지만 품질은 줄어들지 않습니다. PNG 이미지의 경우 Java용 Aspose.Imaging을 사용하면 압축 수준을 0에서 9까지 설정할 수 있습니다. 여기서 0과 9는 각각 최소 및 최대 압축 수준입니다. 다음은 Java를 사용하여 PNG 이미지를 압축하는 단계입니다.

다음 코드 샘플은 Java를 사용하여 PNG 이미지를 압축하는 방법을 보여줍니다.

// 파일(또는 스트림)에서 이미지 로드
Image image = Image.load("aspose_logo.png");

// 가능한 압축 수준 범위에 대한 루프
for (int i = 0; i <= 9; i++) {
	
  // 각 결과 PNG에 대해 PngOptions의 인스턴스를 만듭니다.
	PngOptions options = new PngOptions();
	
  // 압축 수준 설정
	options.setCompressionLevel(i);
	
  // 디스크(또는 스트림)에 결과 저장
	image.save("CompressingFiles_out" + i + ".png", options);
}

Java를 사용하여 JPEG 이미지 압축

JPEG 이미지 압축의 경우 Aspose.Imaging for Java는 다음과 같은 압축 유형을 제공합니다.

  • 기준선
  • 프로그레시브
  • 무손실
  • JPEGL

Java를 사용하여 JPEG 이미지에 위에서 언급한 압축 유형 중 하나를 적용하는 단계는 다음과 같습니다.

다음 코드 샘플은 Java를 사용하여 JPEG 이미지를 압축하는 방법을 보여줍니다.

// 이미지 로드
Image original = Image.load("Input.jpeg");
try
{
    JpegOptions jpegOptions = new JpegOptions()
	  {{
        // 압축 적용
		    setCompressionType(JpegCompressionMode.Progressive);
	  }};
  
  // 압축된 이미지 저장
  original.save("result.jpg", jpegOptions);
}
finally
{
  original.dispose();
}

Java를 사용하여 TIFF 이미지 압축

Aspose.Imaging for Java는 LZW, Packbits, CCIT Fax 3 & 4 등을 포함하는 다양한 TIFF 압축 유형을 제공합니다. 따라서 요구 사항에 가장 적합한 압축 유형을 선택할 수 있습니다. 다음은 Java를 사용하여 TIFF 압축을 수행하는 단계입니다.

다음 코드 샘플은 Java를 사용하여 TIFF 이미지를 압축하는 방법을 보여줍니다.

// 파일 경로 위치 또는 스트림을 통해 이미지 로드
try (Image image = Image.load("sample.tiff"))
{
	// 결과 이미지에 대한 TiffOptions 인스턴스 생성
	TiffOptions outputSettings = new TiffOptions(TiffExpectedFormat.Default);

	// BitsPerSample, Compression, Photometric 모드 및 회색조 팔레트 설정
	outputSettings.setBitsPerSample(new int[] { 4 });
	outputSettings.setCompression(TiffCompressions.Lzw);
	outputSettings.setPhotometric(TiffPhotometrics.Palette);
	outputSettings.setPalette(ColorPaletteHelper.create4BitGrayscale(false));
	image.save("SampleTiff_out.tiff", outputSettings);
}

무료 API 라이선스 받기

평가 제한 없이 API를 사용해보고 싶다면 임시 라이선스를 무료로 받으세요.

결론

이미지 크기를 줄이기 위해 이미지 압축이 필요한 경우가 많습니다. 따라서 이 기사에서는 Java를 사용하여 프로그래밍 방식으로 PNG, JPEG 및 TIFF 이미지를 압축하는 방법에 대해 설명했습니다. 또한 문서를 사용하여 Java 이미지 처리 API에 대해 자세히 알아볼 수 있습니다.

또한보십시오

정보: Aspose는 최근 일련의 이미지를 비디오로 변환할 수 있는 새로운 온라인 웹 앱을 개발했습니다. 비디오에서 소리를 추출하여 비디오를 압축하는 데 사용할 수 있는 다른 서비스에 관심이 있을 수도 있습니다.