
Aspose.Imaging for Java
이미지를 생성, 수정 및 변환하는 Java API
유용한 Java API를 사용하면 소프트웨어 개발자가 이미지를 JPEG, BMP, TIFF, GIF, PNG 등으로 생성, 압축, 편집, 로드, 조작 및 변환할 수 있습니다..
Aspose.Imaging for Java는 소프트웨어 개발자가 Java 애플리케이션 내에서 다양한 이미지 조작 작업을 수행할 수 있도록 하는 강력한 이미지 처리 라이브러리입니다. 이 라이브러리를 사용하면 사용자가 이미지를 손쉽게 조작하고, 다양한 이미지 형식 간에 변환하고, 이미지 크기 조정, 자르기 및 기타 수정을 쉽게 수행할 수 있습니다. 이 라이브러리에는 SVG 및 EMF와 같은 벡터 이미지에 대한 지원이 포함되었습니다. 벡터 이미지를 래스터 이미지로 변환하고, 벡터 이미지에서 정보를 추출하는 등의 작업을 지원합니다.
Aspose.Imaging for Java를 사용하면 소프트웨어 개발자가 복잡한 이미지 처리 작업을 손쉽게 수행하여 시간과 노력을 절약할 수 있습니다. 이 라이브러리는 더 나은 품질과 더 작은 파일 크기를 위해 이미지를 최적화하는 것을 지원합니다. 이미지의 밝기, 대비 및 감마를 조정하고 색인화된 이미지의 색상 팔레트를 조정하는 기능을 제공합니다. 이 라이브러리는 JPEG 및 PNG와 같은 형식의 이미지에 대한 무손실 및 손실 압축도 지원합니다. 날짜와 시간, 카메라 제조업체와 모델, 노출 시간 등과 같은 다양한 이미지 속성을 읽고 쓰는 기능을 제공합니다.
Aspose.Imaging for Java는 포괄적인 이미지 처리 라이브러리로, 이미지 그리기, 이미지 PDF 변환, 벡터 이미지에서 벡터화된 PSD 이미지 변환, 투명 이미지 설정, 벡터 이미지에서 벡터화된 PSD 이미지로 변환, 투명 이미지 저장, 투명 TIFF에서 투명 PNG로 내보내기, Webp에서 PNG로 내보내기, 이미지에서 배경 제거, 이미지 병합, WMF 및 EMF에서 다른 이미지 형식으로 변환, 벡터 이미지 그리기 등과 같은 이미지 조작, 변환, 최적화 및 메타데이터 관리를 위한 광범위한 기능을 제공합니다.
Aspose.Imaging for Java 시작하기
Aspose.Imaging for Java를 설치하는 권장 방법은 Maven 저장소를 사용하는 것입니다. 간단한 구성으로 Maven 프로젝트에서 Aspose.Imaging for Java API를 바로 사용할 수 있습니다.
Java용 Aspose.Imaging을 위한 Maven 저장소
//First you need to specify Aspose Repository configuration / location in your Maven pom.xml as follows:
<repositories>
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://releases.aspose.com/java/repo/</url>
</repository>
</repositories>
//Define Aspose.PDF for Java API Dependency
<dependencies>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-imaging</artifactId>
<version>22.12</version>
<classifier>22.12</classifier>
</dependency>
</dependencies>
라이브러리는 Aspose.Imaging 제품 페이지에서 직접 다운로드할 수 있습니다.
Java 앱 내에서 이미지 생성 및 편집
Aspose.Imaging for Java를 사용하면 소프트웨어 개발자가 몇 줄의 Java 코드만으로 처음부터 새 이미지를 만들 수 있습니다. 이 라이브러리는 이미지를 만들고 관리하기 위한 여러 가지 강력한 클래스를 제공합니다. BMP, GIF, JPEG, PNG, TIFF, PSD, DICOM, TGA, ICO, EMZ, WMZ 등 다양한 형식으로 이미지를 만드는 데 필요한 수많은 옵션을 지원합니다. 게다가 경로 설정, 스트림을 통한 이미지 생성, 이미지 크기 조정, 이미지에 객체 그리기, 이미지 내용 업데이트 및 디스크에 이미지 저장, 이미지 밝기 조정, 이미지에 대비 또는 감마 적용, 이미지에 흐림 효과 적용, 이미지 투명도 확인 등을 통해 이미지를 만들 수 있습니다.
Java API를 통해 경로를 설정하여 이미지를 만들 수 있나요?
// The path to the documents directory.
String dataDir = "D:/dataDir/";
// Creates an instance of BmpOptions and set its various properties
BmpOptions imageOptions = new BmpOptions();
imageOptions.setBitsPerPixel(24);
// Define the source property for the instance of BmpOptions Second boolean parameter determines if the file is temporal or not
imageOptions.setSource(new FileCreateSource(dataDir + "CreatingAnImageBySettingPath_out.bmp", false));
try
{
// Creates an instance of Image and call Create method by passing the BmpOptions object
try (Image image = Image.create(imageOptions, 500, 500))
{
image.save(dataDir + "CreatingAnImageBySettingPath1_out.bmp");
}
}
finally
{
imageOptions.close();
}
Java API를 통한 다른 형식으로 이미지 변환
Aspose.Imaging for Java는 소프트웨어 개발자에게 Java 명령을 사용하여 다양한 유형의 이미지를 다른 지원되는 파일 형식으로 변환할 수 있는 기능을 제공합니다. 이 라이브러리는 JPEG, BMP, TIFF, GIF, PNG, DICOM, TGA, ICO, EMZ, WMZ, WebP, SVG 등을 포함하여 이미지를 한 형식에서 다른 형식으로 변환하기 위한 여러 가지 기능을 제공합니다. 이 라이브러리는 또한 이미지를 여러 페이지 TIFF로 변환하고, TIFF의 개별 페이지를 별도의 이미지로 저장하고, 이미지를 PDF로 변환하는 것을 지원합니다.
Java API를 통해 TIFF를 JPEG 이미지로 변환
// The path to the documents directory.
String dataDir = Utils.getSharedDataDir(ConvertTIFFToJPEG.class) + "ManipulatingJPEGImages/";
TiffImage tiffImage = (TiffImage)Image.load(dataDir + "source2.tif");
try
{
int i = 0;
for (TiffFrame tiffFrame : tiffImage.getFrames())
{
JpegOptions saveOptions = new JpegOptions();
saveOptions.setResolutionSettings(new ResolutionSetting(tiffFrame.getHorizontalResolution(), tiffFrame.getVerticalResolution()));
TiffOptions frameOptions = tiffFrame.getFrameOptions();
if (frameOptions != null)
{
// Set the resolution unit explicitly.
switch (frameOptions.getResolutionUnit())
{
case TiffResolutionUnits.None:
saveOptions.setResolutionUnit(ResolutionUnit.None);
break;
case TiffResolutionUnits.Inch:
saveOptions.setResolutionUnit(ResolutionUnit.Inch);
break;
case TiffResolutionUnits.Centimeter:
saveOptions.setResolutionUnit(ResolutionUnit.Cm);
break;
default:
throw new RuntimeException("Current resolution unit is unsupported!");
}
}
String fileName = "source2.tif.frame." + (i++) + "."
+ ResolutionUnit.toString(ResolutionUnit.class, saveOptions.getResolutionUnit()) + ".jpg";
tiffFrame.save(dataDir + fileName, saveOptions);
}
}
finally
{
tiffImage.close();
}
Java API를 통한 이미지 조작
Aspose.Imaging for Java를 사용하면 컴퓨터 프로그래머가 기존 이미지에 쉽게 액세스하여 조작할 수 있습니다. 라이브러리에는 이미지 속성 업데이트, 벡터 그래픽 그리기, 다중 페이지 이미지 처리, 이미지 배경 삭제 또는 업데이트, 이미지 병합(JPG에서 JPG로, JPG에서 PDF로 병합, JPG에서 PNG로), 이미지 자르기, 이미지 회전, 이미지 크기 조정, 이미지 기울기 조정, 이미지에 워터마크 추가, 벡터 이미지에 래스터 이미지 그리기 등 이미지 조작을 처리하기 위한 여러 가지 기능이 있습니다.
Java API를 통해 이미지에 중간값 필터 적용
// Load the noisy image
Image image = Image.load(dataDir + "aspose-logo.gif");
// caste the image into RasterImage
RasterImage rasterImage = (RasterImage) image;
if (rasterImage == null)
{
return;
}
// Create an instance of MedianFilterOptions class and set the size.
MedianFilterOptions options = new MedianFilterOptions(4);
// Apply MedianFilterOptions filter to RasterImage object.
rasterImage.filter(image.getBounds(), options);
// Save the resultant image
image.save(dataDir + "median_test_denoise_out.gif");
Java API를 통한 이미지 회전 및 크기 조정
Java용 Aspose.Imaging을 사용하면 소프트웨어 개발자가 자신의 Java 애플리케이션 내에서 이미지를 프로그래밍 방식으로 회전하고 크기를 조정할 수 있습니다. 자르기는 이미지의 일부를 잘라내어 특정 영역에 초점을 맞추는 데 사용할 수 있는 매우 유용한 기술입니다. 이 라이브러리는 이미지 회전 및 크기 조정과 관련된 여러 기능을 제공합니다. 예를 들어, 이미지를 이동으로 자르기, 사각형으로 자르기, 벡터 이미지 자르기, 이미지를 90/180/270도로 회전, 이미지를 수평 또는 수직으로 뒤집기, 지정된 각도로 이미지 회전, webp 이미지 크기 조정, 이미지의 비례 크기 조정 등이 있습니다.
Java API를 통해 이미지를 이동하여 자르는 방법?
u// The path to the documents directory.
String dataDir = "dataDir/jpeg/";
// Load an existing image into an instance of RasterImage class
try (RasterImage rasterImage = (RasterImage)Image.load(dataDir + "aspose-logo.jpg"))
{
// Before cropping, the image should be cached for better performance
if (!rasterImage.isCached())
{
rasterImage.cacheData();
}
// Define shift values for all four sides
int leftShift = 10;
int rightShift = 10;
int topShift = 10;
int bottomShift = 10;
// Based on the shift values, apply the cropping on image Crop method will shift the image bounds toward the center of image and Save the results to disk
rasterImage.crop(leftShift, rightShift, topShift, bottomShift);
rasterImage.save(dataDir + "CroppingByShifts_out.jpg");
}