Aspose.PSD for .NET 22.3 - Release Notes

Key Summary Category
PSDNET-210 Add property IsOpen for Layer Group Feature
PSDNET-643 PSD image with raster layer masks discards masks on saving to 16 bit PSD image Bug
PSDNET-899 Blend mode Dissolve does not apply to the folder with mask Bug
PSDNET-1047 Specific file can not be opened by Photoshop after the saving in Aspose.PSD 21.11 Bug
PSDNET-1068 Incorrect rendering of the layer with Linear Dodge (Add) blend mode Bug
PSDNET-1069 Pattern Fill Layer throws exception on update after loading Bug

Public API Changes

Added APIs:

  • P:Aspose.PSD.FileFormats.Psd.Layers.LayerGroup.IsOpen

Removed APIs:

  • None

Usage examples:

PSDNET-210. Add property IsOpen for Layer Group

// Example of reading and writing IsOpen property at runtime.
string sourceFileName = "LayerGroupOpenClose.psd";
string outputFileName = "Output" + sourceFileName;

using (var image = (PsdImage)Image.Load(sourceFileName))
{
    foreach (var layer in image.Layers)
    {
        if (layer is LayerGroup && layer.Name == "Group 1")
        {
            bool isOpenedGroup1 = ((LayerGroup)layer).IsOpen;
            ((LayerGroup)layer).IsOpen = !isOpenedGroup1;
        }

        if (layer is LayerGroup && layer.Name == "Group 2")
        {
            bool isOpenedGroup2 = ((LayerGroup)layer).IsOpen;           
            ((LayerGroup)layer).IsOpen = !isOpenedGroup2;
        }
    }

    image.Save(outputFileName);
}

PSDNET-643. PSD image with raster layer masks discards masks on saving to 16 bit PSD image

            string sourceFilePath = "OneRegularAndOneRegularWithMask.psd";
            string outputFilePath = "out_OneRegularAndOneRegularWithMask.psd";

            using (PsdImage image = (PsdImage)Image.Load(sourceFilePath))
            {
                image.Save(outputFilePath, new PsdOptions(image)
                {
                    ChannelBitsCount = 16
                });
            }

PSDNET-899. Blend mode Dissolve does not apply to the folder with mask

            string sourceFile = "psdnet899.psd";
            string outputPng = "out_psdnet899.png";

            using (PsdImage image = (PsdImage) Image.Load(sourceFile))
            {
                image.Save(outputPng, new PngOptions());
            }

PSDNET-1047. Specific file can not be opened by Photoshop after the saving in Aspose.PSD 21.11

            string sourceFile = "psdnet1047.psd";
            string outputPsd = "out_psdnet1047.psd";

            using (PsdImage image = (PsdImage) Image.Load(sourceFile))
            {
                image.Save(outputPsd);
            }

            // Need to manually open output PSD by Photoshop.

            using (PsdImage image = (PsdImage) Image.Load(outputPsd))
            {
                // no exception.
            }

PSDNET-1068. Incorrect rendering of the layer with Linear Dodge (Add) blend mode

            string sourceFile = "broken.psd";
            string outputPng = "out_broken.psd.png";

            using (var psdImage = (PsdImage) Image.Load(sourceFile))
            {
                psdImage.Save(outputPng, new PngOptions() {ColorType = PngColorType.Truecolor});
            }

PSDNET-1069. Pattern Fill Layer throws exception on update after loading

            string sourceFile = "AllTypesLayerPsd.psd";

            using (var image = (PsdImage) Image.Load(sourceFile))
            {
                var fillLayer = (FillLayer)image.Layers[9];
                fillLayer.Update();
            }