Browse our Products

Aspose.PSD for Python via .NET 25.12 - Release Notes

KeySummaryCategory
PSDPYTHON-269[AI Format] Implement Soft MaskFeature
PSDPYTHON-270[AI Format] Implementing the DeviceN ColorSpace handlingFeature
PSDPYTHON-271Implement support for LsdkResourceFeature
PSDPYTHON-181[AI Format] Resolving rendering issuesBug
PSDPYTHON-272Abnormal export of a specific Image to PNG/JPG FormatBug
PSDPYTHON-273In the file with the specified SmartObject, throws an exceptionBug
PSDPYTHON-172[AI Format] Fixing regression at AI renderingBug
PSDPYTHON-274Aspose.PSD generates a corrupted PSD file if a SmartObject is presentBug
PSDPYTHON-275Layers with a clipping mask render with some stroke from base pixelsBug

Public API Changes

Added APIs:

  • T:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.LsdkResource
  • M:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.LsdkResource.#ctor
  • P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.LsdkResource.BlendModeKey
  • P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.LsdkResource.Length
  • P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.LsdkResource.SectionType
  • P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.LsdkResource.Subtype
  • M:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.LsdkResource.Save(Aspose.PSD.StreamContainer,System.Int32)
  • F:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.LsdkResource.TypeToolKey

Removed APIs:

  • None

Usage examples:

PSDPYTHON-269. [AI Format] Implement Soft Mask

        sourceFile = "Strawberry_jam_packaging.ai"
        outputFile = "Strawberry_jam_packaging.png"

        with AiImage.load(sourceFile) as img:
            img.save(outputFile, PngOptions())

PSDPYTHON-270. [AI Format] Implementing the DeviceN ColorSpace handling

        sourceFile = "2458.ai"
        outputFile = "2458.png"

        with AiImage.load(sourceFile) as img:
            aiImage = cast(AiImage, img)
            aiImage.save(outputFile, PngOptions())

PSDPYTHON-271. Implement support for LsdkResource

        inputFile = "123 1.psd"
        outputFile = "output.psd"

        loadOpt = PsdLoadOptions()
        loadOpt.load_effects_resource = True

        # First pass - load and modify
        with PsdImage.load(inputFile, loadOpt) as img:
            psdImage = cast(PsdImage, img)
            res = cast(LsdkResource, psdImage.layers[8].resources[3])
            assert res.length == 4

            psdImage.save(outputFile)

        Comparison.CheckAgainstEthalon(outputFile, referenceFile, 0)

        # Second pass - verify changes
        with PsdImage.load(outputFile, loadOpt) as img:
            psdImage = cast(PsdImage, img)
            res = cast(LsdkResource, psdImage.layers[8].resources[3])
            assert res.length == 4

PSDPYTHON-181. [AI Format] Resolving rendering issues

        sourceFile = "Input_2.ai"
        outputFile = "Input_2.png"

        with AiImage.load(sourceFile) as img:
            img.save(outputFile, PngOptions())

PSDPYTHON-272. Abnormal export of a specific Image to PNG/JPG Format

        srcFile = "123.psd"
        outFile = "output.png"

        loadOpt = PsdLoadOptions()
        loadOpt.load_effects_resource = True

        with PsdImage.load(srcFile, loadOpt) as img:
            psdImage = cast(PsdImage, img)
            pngOpt = PngOptions()
            pngOpt.color_type = PngColorType.TRUECOLOR_WITH_ALPHA
            psdImage.save(outFile, pngOpt)

PSDPYTHON-273. In the file with the specified SmartObject, throws an exception

        sourceFilePath = "Test_File.psd"
        outputFilePath = "output.psd"

        with PsdImage.load(sourceFilePath) as img:
            psdImageCopy = cast(PsdImage, img)
            imageOptions = PsdOptions(psdImageCopy)
            psdImageCopy.save(outputFilePath, imageOptions)

PSDPYTHON-172. [AI Format] Fixing regression at AI rendering

        sourceFile = "example.ai"
        outputFile = "example.png"

        with AiImage.load(sourceFile) as img:
            psdImage = cast(AiImage, img)
            psdImage.save(outputFile, PngOptions())

PSDPYTHON-274. Aspose.PSD generates a corrupted PSD file if a SmartObject is present

        inputFile = "LogoOutside.psd"
        outputFile = "output.psd"

        with PsdImage.load(inputFile) as img:
            psdImage = cast(PsdImage, img)
            imageOptions = PsdOptions(psdImage)
            psdImage.save(outputFile, imageOptions)

PSDPYTHON-275. Layers with a clipping mask render with some stroke from base pixels

        inputFile ="foldersAndFigures.psd"
        outputFile = "output.png"

        with PsdImage.load(inputFile) as psdImage:
            psdImage.save(outputFile, PngOptions())