Browse our Products
Aspose.PSD for .NET 22.5 - Release Notes
This page contains release notes for Aspose.PSD for .NET 22.5
Key | Summary | Category |
---|---|---|
PSDNET-952 | Add EffectType property to ILayerEffect Interface | Feature |
PSDNET-1146 | Refactoring of ChannelData Class | Enhancement |
PSDNET-657 | Make the opacity property work for DropShadowEffect | Bug |
PSDNET-825 | Incorrect drawing of adjustment layer through the transparent layer in a specific case | Bug |
PSDNET-1168 | Improve Colorize method. Colorize gray + set correct color when saturation is not 100 | Bug |
Article | How to Run Aspose.PSD in Docker | Documentation |
Public API Changes
Added APIs:
- M:Aspose.PSD.FileFormats.Psd.Layers.ChannelInformation.#ctor(Aspose.PSD.FileFormats.Psd.CompressionMethod,System.Int32,System.Int32)
- P:Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.ILayerEffect.EffectType
- P:Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.InnerShadowEffect.EffectType
- P:Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.ColorOverlayEffect.EffectType
- P:Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.DropShadowEffect.EffectType
- P:Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.StrokeEffect.EffectType
- P:Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.GradientOverlayEffect.EffectType
- P:Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.PatternOverlayEffect.EffectType
- P:Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.OuterGlowEffect.EffectType
- T:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.Lfx2Resources.LayerEffectsTypes
- F:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.Lfx2Resources.LayerEffectsTypes.DropShadow
- F:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.Lfx2Resources.LayerEffectsTypes.OuterGlow
- F:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.Lfx2Resources.LayerEffectsTypes.PatternOverlay
- F:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.Lfx2Resources.LayerEffectsTypes.GradientOverlay
- F:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.Lfx2Resources.LayerEffectsTypes.ColorOverlay
- F:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.Lfx2Resources.LayerEffectsTypes.Satin
- F:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.Lfx2Resources.LayerEffectsTypes.InnerGlow
- F:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.Lfx2Resources.LayerEffectsTypes.InnerShadow
- F:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.Lfx2Resources.LayerEffectsTypes.Stroke
- F:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.Lfx2Resources.LayerEffectsTypes.BevelEmboss
Removed APIs:
- M:Aspose.PSD.FileFormats.Psd.Layers.ChannelInformation.#ctor
- M:Aspose.PSD.FileFormats.Psd.Layers.Layer.Equals(System.Object)
Usage examples:
PSDNET-657. Make the opacity property work for DropShadowEffect
string inputFile = "input.psd";
string outputImage20 = "outputImage20.png";
string outputImage200 = "outputImage200.png";
using (PsdImage psdImage = (PsdImage)Image.Load(inputFile, new LoadOptions()))
{
Layer workLayer = psdImage.Layers[1];
DropShadowEffect dropShadowEffect = workLayer.BlendingOptions.AddDropShadow();
dropShadowEffect.Distance = 0;
dropShadowEffect.Size = 8;
// Example with Opacity = 20
dropShadowEffect.Opacity = 20;
psdImage.Save(outputImage20, new PngOptions());
// Example with Opacity = 200
dropShadowEffect.Opacity = 200;
psdImage.Save(outputImage200, new PngOptions());
}
PSDNET-825. Incorrect drawing of adjustment layer through the transparent layer in a specific case
string sourceFile = "input_825.psd";
string outputPng = "out_psdnet825.png";
using (var psdImage = (PsdImage)Image.Load(sourceFile))
{
foreach (var item in psdImage.Layers)
{
item.IsVisible = false;
}
var layer = psdImage.Layers[3];
psdImage.Layers[1].IsVisible = true;
psdImage.Layers[3].IsVisible = true;
psdImage.Layers[4].IsVisible = true;
psdImage.Layers[7].IsVisible = true;
var width = layer.Width;
var height = layer.Height;
var layerBounds = new Rectangle(layer.Left, layer.Top, width, height);
var bounds = new Rectangle(0, 0, width, height);
var image = new PsdImage(bounds.Width, bounds.Height);
image.SaveArgb32Pixels(bounds, psdImage.LoadArgb32Pixels(layerBounds));
image.Save(outputPng, new PngOptions());
}
PSDNET-952. Add EffectType property to ILayerEffect Interface
string inputFile = "input.psd";
string outputWithout = "outputWithout.png";
string outputWith = "outputWith.png";
using (PsdImage psdImage = (PsdImage)Image.Load(inputFile, new LoadOptions()))
{
psdImage.Save(outputWithout, new PngOptions());
Layer workLayer = psdImage.Layers[1];
DropShadowEffect dropShadowEffect = workLayer.BlendingOptions.AddDropShadow();
dropShadowEffect.Distance = 0;
dropShadowEffect.Size = 8;
dropShadowEffect.Opacity = 20;
foreach (ILayerEffect iEffect in workLayer.BlendingOptions.Effects)
{
if (iEffect.EffectType == LayerEffectsTypes.DropShadow)
{
// it caught
psdImage.Save(outputWith, new PngOptions());
}
}
}
PSDNET-1168. Improve Colorize method. Colorize gray + set correct color when saturation is not 100
string srcFile = "Colorize.psd";
string outputSimple = "output_simple.png";
string outputColorize = "output_colorize.png";
using (var psdImage = (PsdImage)Image.Load(srcFile))
{
// Image without Colorize property
psdImage.Save(outputSimple, new PngOptions() { ColorType = PngColorType.TruecolorWithAlpha });
// Set Colorize property
foreach (Layer layer in psdImage.Layers)
{
if (layer is HueSaturationLayer)
{
HueSaturationLayer hueSaturationLayer = (HueSaturationLayer)layer;
hueSaturationLayer.Colorize = true;
break;
}
}
// Image with Colorize property
psdImage.Save(outputColorize, new PngOptions() { ColorType = PngColorType.TruecolorWithAlpha });
}