Aspose.PSD for Java 23.8 - 릴리스 노트
Contents
[
Hide
]
이 페이지에는 Aspose.PSD for Java 23.8 의 릴리스 노트가 포함되어 있습니다.
키 | 요약 | 카테고리 |
---|---|---|
PSDJAVA-518 | 새로운 워프 유형 추가 (Flag) | 기능 |
PSDJAVA-519 | 새로운 워프 유형 추가: 위로 아치, 아래로 아치, 구형 | 기능 |
PSDJAVA-520 | PsdImage.AddPosterizeAdjustmentLayer를 추가하여 새로운 Posterize 레이어 추가 | 기능 |
PSDJAVA-521 | PSD 정보만 열고 저장하는 경우 손실 발생 | 버그 |
PSDJAVA-522 | 이미지 로딩 실패 | 버그 |
PSDJAVA-523 | 이미지 로딩 실패: UnknownStructure 유형을 DescriptorStructure 유형으로 캐스트할 수 없음 | 버그 |
PSDJAVA-524 | 제3자 라이브러리에서 수정된 파일은 PSD 파일이 손상되지만 Photoshop에서는 여전히 열 수 있음 | 버그 |
공용 API 변경
추가된 API:
- M:com.aspose.psd.fileformats.psd.PsdImage.addPosterizeAdjustmentLayer
제거된 API:
- 없음
사용 예시:
PSDJAVA-518. 새로운 워프 유형 추가 (Flag)
String sourceFile = "src/main/resources/flag_warp.psd";
String outputFile = "src/main/resources/flag_export.png";
PsdLoadOptions psdLoadOptions = new PsdLoadOptions();
psdLoadOptions.setAllowWarpRepaint(true);
psdLoadOptions.setLoadEffectsResource(true);
try (PsdImage psdImage = (PsdImage) Image.load(sourceFile, psdLoadOptions)) {
PngOptions pngOptions = new PngOptions();
pngOptions.setColorType(PngColorType.TruecolorWithAlpha);
psdImage.save(outputFile, pngOptions);
}
PSDJAVA-519. 새로운 워프 유형 추가: 위로 아치, 아래로 아치, 구형
String sourceFileArcUpper = "src/main/resources/arc_upper_warp.psd";
String sourceFileArcLower = "src/main/resources/arc_lower_warp.psd";
String sourceFileBulge = "src/main/resources/bulge_warp.psd";
String outputFileArcUpper = "src/main/resources/ArcUpper_export.png";
String outputFileArcLower = "src/main/resources/ArcLower_export.png";
String outputFileBulge = "src/main/resources/Bulge_export.png";
PsdLoadOptions psdLoadOptions = new PsdLoadOptions();
psdLoadOptions.setAllowWarpRepaint(true);
psdLoadOptions.setLoadEffectsResource(true);
PngOptions pngOptions = new PngOptions();
pngOptions.setColorType(PngColorType.TruecolorWithAlpha);
try (PsdImage psdImage = (PsdImage) Image.load(sourceFileArcUpper, psdLoadOptions)) {
psdImage.save(outputFileArcUpper, pngOptions);
}
try (PsdImage psdImage = (PsdImage) Image.load(sourceFileArcLower, psdLoadOptions)) {
psdImage.save(outputFileArcLower, pngOptions);
}
try (PsdImage psdImage = (PsdImage) Image.load(sourceFileBulge, psdLoadOptions)) {
psdImage.save(outputFileBulge, pngOptions);
}
PSDJAVA-520. PsdImage.AddPosterizeAdjustmentLayer 메서드 구현하여 새로운 Posterize 레이어 추가
public static void main(String[] args) {
String srcFile = "src/main/resources/zendeya.psd";
String outFile = "src/main/resources/zendeya.psd.out.psd";
try (PsdImage psdImage = (PsdImage) Image.load(srcFile)) {
psdImage.addPosterizeAdjustmentLayer();
psdImage.save(outFile);
}
PsdLoadOptions psdLoadOptions = new PsdLoadOptions();
psdLoadOptions.setLoadEffectsResource(true);
// 저장된 변경 사항 확인
try (PsdImage image = (PsdImage) Image.load(outFile, psdLoadOptions)) {
assertAreEqual(2, image.getLayers().length);
PosterizeLayer posterizeLayer = (PosterizeLayer) image.getLayers()[1];
assertAreEqual(true, posterizeLayer instanceof PosterizeLayer);
}
}
static void assertAreEqual(Object expected, Object actual) {
assertAreEqual(expected, actual, "객체가 동일하지 않음.");
}
static void assertAreEqual(Object expected, Object actual, String message) {
if (!expected.equals(actual)) {
throw new IllegalArgumentException(message);
}
}
PSDJAVA-521. PSD 정보가 열고 저장 시 손실
String src = "src/main/resources/Original file.psd";
String outputPsd = "src/main/resources/out_Original file.psd";
String outputPng = "src/main/resources/out_Original file.png";
try (PsdImage psdImage = (PsdImage) Image.load(src)) {
PngOptions pngOptions = new PngOptions();
pngOptions.setColorType(PngColorType.TruecolorWithAlpha);
psdImage.save(outputPsd);
psdImage.save(outputPng, pngOptions);
}
PSDJAVA-522. 이미지 로딩 실패
String srcFile1 = "src/main/resources/test_text.psd";
String srcFile2 = "src/main/resources/test_smart_object.psd";
try (PsdImage psdImage = (PsdImage) Image.load(srcFile1)) {
}
try (PsdImage psdImage = (PsdImage) Image.load(srcFile2)) {
}
PSDJAVA-523. 이미지 로딩 실패: UnknownStructure 유형을 DescriptorStructure 유형으로 캐스트할 수 없음
try (PsdImage newPsd = new PsdImage(10, 10)) {
newPsd.addLayer(FillLayer.createInstance(FillType.Gradient));
final MemoryStream memStream = new MemoryStream(DescriptorStructure.StructureKey + 1000);
try {
newPsd.save(memStream.toOutputStream());
memStream.seek(DescriptorStructure.StructureKey, SeekOrigin.Current);
memStream.write(new byte[1], 0, 0);
memStream.setPosition(0);
try (PsdImage psdImage = (PsdImage) Image.load(memStream.toInputStream())) {
// 정상적으로 로드되어야 함
}
} finally {
memStream.close();
}
}
PSDJAVA-524. 제3자 라이브러리에서 수정된 파일은 PSD 파일이 손상되지만 Photoshop에서는 여전히 열 수 있음
String sourceFile = "src/main/resources/output.psd";
String outputFile = "src/main/resources/export.png";
PsdLoadOptions psdLoadOptions = new PsdLoadOptions();
psdLoadOptions.setLoadEffectsResource(true);
try (PsdImage img = (PsdImage) Image.load(sourceFile, psdLoadOptions)) {
PngOptions pngOptions = new PngOptions();
pngOptions.setCompressionLevel(9);
pngOptions.setColorType(PngColorType.TruecolorWithAlpha);
img.save(outputFile, pngOptions);
}