Aspose.PSD for Java 23.12 - 릴리스 노트

요약 카테고리
PSDJAVA-565 [AI 포맷] AI의 새 버전에서 래스터 이미지 렌더링 지원 추가. 기능
PSDJAVA-566 GdflResrource에서 그라데이션 유형 노이즈 처리. 기능
PSDJAVA-567 텍스트 레이어 업데이트 후 저장 시 “객체 참조가 개체의 인스턴스로 설정되지 않음” 오류. 버그
PSDJAVA-568 MacOS에서 System.Drawing.Common 및 Aspose.Drawing을 사용하여 폰트 수동로드 수정. 버그
PSDJAVA-569 PsdLoadOptions에서 AllowWarpRepaint 사용 시 예외 발생. 버그
PSDJAVA-570 [AI 포맷] 크로스-참조 스트림 처리 구현. 향상
PSDJAVA-571 VectorPathDataResource에 대한 라이센스 제어가 잘못 작동. 향상
PSDJAVA-574 PSD 이미지에서 임베디드 스마트 객체로 모든 이미지 파일 열기. 향상

공용 API 변경 사항

추가된 API:

  • M:com.aspose.psd.FontSettings.removeFontCacheFile
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.GradientFillSettings.getInterpolation
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.GradientFillSettings.setInterpolation(short)
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.IGradientFillSettings.getGradientMode
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.IGradientFillSettings.setGradientMode(int)
  • M:com.aspose.psd.fileformats.psd.layers.layerresources.GdFlResource.getColorModel
  • M:com.aspose.psd.fileformats.psd.layers.layerresources.GdFlResource.getGradientMode
  • M:com.aspose.psd.fileformats.psd.layers.layerresources.GdFlResource.getMaximumColor
  • M:com.aspose.psd.fileformats.psd.layers.layerresources.GdFlResource.getMinimumColor
  • M:com.aspose.psd.fileformats.psd.layers.layerresources.GdFlResource.getRndNumberSeed
  • M:com.aspose.psd.fileformats.psd.layers.layerresources.GdFlResource.getRoughness
  • M:com.aspose.psd.fileformats.psd.layers.layerresources.GdFlResource.getShowTransparency
  • M:com.aspose.psd.fileformats.psd.layers.layerresources.GdFlResource.getUseVectorColor
  • M:com.aspose.psd.fileformats.psd.layers.layerresources.GdFlResource.setColorModel(java.lang.String)
  • M:com.aspose.psd.fileformats.psd.layers.layerresources.GdFlResource.setGradientMode(java.lang.String)
  • M:com.aspose.psd.fileformats.psd.layers.layerresources.GdFlResource.setMaximumColor(com.aspose.psd.fileformats.psd.rawcolor.RawColor)
  • M:com.aspose.psd.fileformats.psd.layers.layerresources.GdFlResource.setMinimumColor(com.aspose.psd.fileformats.psd.rawcolor.RawColor)
  • M:com.aspose.psd.fileformats.psd.layers.layerresources.GdFlResource.setRndNumberSeed(int)
  • M:com.aspose.psd.fileformats.psd.layers.layerresources.GdFlResource.setRoughness(int)
  • M:com.aspose.psd.fileformats.psd.layers.layerresources.GdFlResource.setShowTransparency(boolean)
  • M:com.aspose.psd.fileformats.psd.layers.layerresources.GdFlResource.setUseVectorColor(boolean)
  • M:com.aspose.psd.fileformats.psd.layers.smartobjects.SmartObjectLayer.#ctor(com.aspose.psd.system.io.Stream)
  • M:com.aspose.psd.fileformats.psd.coreexceptions.LicenseException.#ctor(java.lang.String,java.lang.Throwable)
  • T:com.aspose.psd.fileformats.psd.layers.layerresources.LmskResource
  • M:com.aspose.psd.fileformats.psd.layers.layerresources.LmskResource.#ctor
  • M:com.aspose.psd.fileformats.psd.layers.layerresources.LmskResource.getColorComponent1
  • M:com.aspose.psd.fileformats.psd.layers.layerresources.LmskResource.getColorComponent2
  • M:com.aspose.psd.fileformats.psd.layers.layerresources.LmskResource.getColorComponent3
  • M:com.aspose.psd.fileformats.psd.layers.layerresources.LmskResource.getColorComponent4
  • M:com.aspose.psd.fileformats.psd.layers.layerresources.LmskResource.getColorSpace
  • M:com.aspose.psd.fileformats.psd.layers.layerresources.LmskResource.getFlag
  • M:com.aspose.psd.fileformats.psd.layers.layerresources.LmskResource.getKey
  • M:com.aspose.psd.fileformats.psd.layers.layerresources.LmskResource.getLength
  • M:com.aspose.psd.fileformats.psd.layers.layerresources.LmskResource.getOpacity
  • M:com.aspose.psd.fileformats.psd.layers.layerresources.LmskResource.getPsdVersion
  • M:com.aspose.psd.fileformats.psd.layers.layerresources.LmskResource.getSignature
  • M:com.aspose.psd.fileformats.psd.layers.layerresources.LmskResource.save(com.aspose.psd.StreamContainer,int)
  • M:com.aspose.psd.fileformats.psd.layers.layerresources.LmskResource.setColorComponent1(int)
  • M:com.aspose.psd.fileformats.psd.layers.layerresources.LmskResource.setColorComponent2(int)
  • M:com.aspose.psd.fileformats.psd.layers.layerresources.LmskResource.setColorComponent3(int)
  • M:com.aspose.psd.fileformats.psd.layers.layerresources.LmskResource.setColorComponent4(int)
  • M:com.aspose.psd.fileformats.psd.layers.layerresources.LmskResource.setColorSpace(int)
  • M:com.aspose.psd.fileformats.psd.layers.layerresources.LmskResource.setOpacity(short)
  • F:com.aspose.psd.fileformats.psd.layers.layerresources.LmskResource.TypeToolKey
  • T:com.aspose.psd.fileformats.psd.resources.enums_.ColorSpace
  • F:com.aspose.psd.fileformats.psd.resources.enums_.ColorSpace.CMYK
  • F:com.aspose.psd.fileformats.psd.resources.enums_.ColorSpace.GrayScale
  • F:com.aspose.psd.fileformats.psd.resources.enums_.ColorSpace.HSB
  • F:com.aspose.psd.fileformats.psd.resources.enums_.ColorSpace.Lab
  • F:com.aspose.psd.fileformats.psd.resources.enums_.ColorSpace.RGB
  • T:com.aspose.psd.fileformats.psd.layers.fillsettings.NoiseGradientFillSettings
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.NoiseGradientFillSettings.#ctor
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.NoiseGradientFillSettings.getColorModel
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.NoiseGradientFillSettings.getMaximumColor
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.NoiseGradientFillSettings.getMinimumColor
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.NoiseGradientFillSettings.getRndNumberSeed
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.NoiseGradientFillSettings.getRoughness
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.NoiseGradientFillSettings.getShowTransparency
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.NoiseGradientFillSettings.getUseVectorColor
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.NoiseGradientFillSettings.setColorModel(short)
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.NoiseGradientFillSettings.setMaximumColor(com.aspose.psd.fileformats.psd.rawcolor.RawColor)
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.NoiseGradientFillSettings.setMinimumColor(com.aspose.psd.fileformats.psd.rawcolor.RawColor)
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.NoiseGradientFillSettings.setRndNumberSeed(int)
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.NoiseGradientFillSettings.setRoughness(int)
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.NoiseGradientFillSettings.setShowTransparency(boolean)
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.NoiseGradientFillSettings.setUseVectorColor(boolean)
  • T:com.aspose.psd.fileformats.psd.layers.layerresources.GdflResourceHelper
  • M:com.aspose.psd.fileformats.psd.layers.layerresources.GdflResourceHelper.#ctor
  • M:com.aspose.psd.fileformats.psd.layers.layerresources.GdflResourceHelper.gradientKindToStr(int)
  • M:com.aspose.psd.fileformats.psd.layers.layerresources.GdflResourceHelper.noiseColorModelToStr(short)
  • M:com.aspose.psd.fileformats.psd.layers.layerresources.GdflResourceHelper.strToGradientKind(java.lang.String)
  • M:com.aspose.psd.fileformats.psd.layers.layerresources.GdflResourceHelper.strToNoiseColorModel(java.lang.String)
  • F:com.aspose.psd.fileformats.psd.layers.layerresources.GdflResourceHelper.StrGradientNoise
  • F:com.aspose.psd.fileformats.psd.layers.layerresources.GdflResourceHelper.StrGradientSolid
  • F:com.aspose.psd.fileformats.psd.layers.layerresources.GdflResourceHelper.StrModelHSB
  • F:com.aspose.psd.fileformats.psd.layers.layerresources.GdflResourceHelper.StrModelLAB
  • F:com.aspose.psd.fileformats.psd.layers.layerresources.GdflResourceHelper.StrModelRGB
  • T:com.aspose.psd.fileformats.psd.layers.fillsettings.BaseGradientFillSettings
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.BaseGradientFillSettings.#ctor
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.BaseGradientFillSettings.#ctor(com.aspose.psd.fileformats.psd.layers.layerresources.GdFlResource)
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.BaseGradientFillSettings.getAlignWithLayer
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.BaseGradientFillSettings.getAngle
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.BaseGradientFillSettings.getDither
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.BaseGradientFillSettings.getFillType
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.BaseGradientFillSettings.getGradientMode
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.BaseGradientFillSettings.getGradientType
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.BaseGradientFillSettings.getHorizontalOffset
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.BaseGradientFillSettings.getReverse
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.BaseGradientFillSettings.getScale
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.BaseGradientFillSettings.getVerticalOffset
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.BaseGradientFillSettings.setAlignWithLayer(boolean)
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.BaseGradientFillSettings.setAngle(double)
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.BaseGradientFillSettings.setDither(boolean)
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.BaseGradientFillSettings.setGradientMode(int)
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.BaseGradientFillSettings.setGradientType(int)
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.BaseGradientFillSettings.setHorizontalOffset(double)
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.BaseGradientFillSettings.setReverse(boolean)
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.BaseGradientFillSettings.setScale(int)
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.BaseGradientFillSettings.setVerticalOffset(double)

제거된 API:

  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.GradientFillSettings.getAlignWithLayer
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.GradientFillSettings.getAngle
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.GradientFillSettings.getDither
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.GradientFillSettings.getFillType
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.GradientFillSettings.getGradientType
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.GradientFillSettings.getHorizontalOffset
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.GradientFillSettings.getReverse
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.GradientFillSettings.getScale
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.GradientFillSettings.getVerticalOffset
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.GradientFillSettings.setAlignWithLayer(boolean)
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.GradientFillSettings.setAngle(double)
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.GradientFillSettings.setDither(boolean)
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.GradientFillSettings.setGradientType(int)
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.GradientFillSettings.setHorizontalOffset(double)
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.GradientFillSettings.setReverse(boolean)
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.GradientFillSettings.setScale(int)
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.GradientFillSettings.setVerticalOffset(double)
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.IFillSettings.setColor(com.aspose.psd.Color)
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.IGradientFillSettings.getColor
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.IGradientFillSettings.getColorPoints
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.IGradientFillSettings.getGradientName
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.IGradientFillSettings.getTransparencyPoints
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.IGradientFillSettings.setColor(com.aspose.psd.Color)
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.IGradientFillSettings.setColorPoints(com.aspose.psd.fileformats.psd.layers.IGradientColorPoint[])
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.IGradientFillSettings.setGradientName(java.lang.String)
  • M:com.aspose.psd.fileformats.psd.layers.fillsettings.IGradientFillSettings.setTransparencyPoints(com.aspose.psd.fileformats.psd.layers.fillsettings.IGradientTransparencyPoint[])
  • M:com.aspose.psd.fileformats.psd.coreexceptions.LicenseException.#ctor(java.lang.String,java.lang.Throwable)

사용 예시:

** PSDJAVA-565. [AI Format] AI의 새 버전에서 래스터 이미지 렌더링 지원 추가**

    String sourceFile = "src/main/resources/raster.ai";
    String outputFile = "src/main/resources/raster_output.png";

    try (AiImage image = (AiImage) Image.load(sourceFile)) {
        image.save(outputFile, new PngOptions());
    }

** PSDJAVA-566. GdflResrource에서 그라데이션 유형 노이즈 처리**

    String sourceFile = "src/main/resources/Gradient-Fill.psd";
    String destFile = "src/main/resources/Gradient-Fill-out.psd";

    try (PsdImage image = (PsdImage) Image.load(sourceFile, new PsdLoadOptions())) {
        Layer layer = image.getLayers()[1];

        for (LayerResource resource : layer.getResources()) {
            GdFlResource gdFlResource = (GdFlResource) resource;

            if (gdFlResource != null) {
                gdFlResource.setScale(90);
                gdFlResource.setAngle(30);
                gdFlResource.setDither(false);
                gdFlResource.setAlignWithLayer(true);
                gdFlResource.setReverse(false);

                break;
            }
        }
        image.save(destFile, new PsdOptions());
    }

** PSDJAVA-567. 텍스트 레이어 업데이트 후 저장 시 “객체 참조가 개체의 인스턴스로 설정되지 않음” 오류**

    String sourceFile = "src/main/resources/input_1827.psd";
    String outputFile = "src/main/resources/out_1827.psd";

    try (PsdImage psdImage = (PsdImage) Image.load(sourceFile)) {
        for (Layer layer : psdImage.getLayers()) {
            if (layer instanceof TextLayer) {
                ((TextLayer) layer).getTextData().updateLayerData();
            }
        }

        // 여기에 오류가 발생해서는 안 됨
        psdImage.save(outputFile);
    }

** PSDJAVA-569. PsdLoadOptions에서 AllowWarpRepaint 사용 시 예외 발생**

    String sourceFile = "src/main/resources/SizeChart - 4 Colors.psd";
    String outputFile = "src/main/resources/_export