Aspose.PSD for .NET 20.2 - Sürüm Notları
Contents
 [
      
        Hide
      ]
    
Bu sayfa, Aspose.PSD for .NET 20.2 için sürüm notlarını içerir
| Anahtar | Özet | Kategori | 
|---|---|---|
| PSDNET-206 | Metin Katmanı içinde farklı renklerde metinleri çizme yeteneğinin iyileştirilmesi | Özellik | 
| PSDNET-369 | clbl kaynağının (Katman kaynağı, karışım klipleri hakkında bilgi içerir) desteklenmesi | Özellik | 
| PSDNET-274 | blwh kaynağının (Kaynak, Siyah ve Beyaz Ayarlama Katmanı Verileri içerir) desteklenmesi | Özellik | 
| PSDNET-230 | Katman Grubunu Jpeg/Png/Tiff/Gif/Bmp/Jpeg2000/Psd/Psb/Pdf olarak dışa aktarma yeteneği | Özellik | 
| PSDNET-372 | lspf Kaynağının (Katman Koruma ayarlarını içeren) desteklenmesi | Özellik | 
| PSDNET-370 | infx kaynağının (İç elemanların karışımı hakkında veriler içerir) desteklenmesi | Özellik | 
| PSDNET-251 | Dönüşüm davranışını değiştirmek için PsdImage ve Layer’ın Refactoring’i (özel olarak bir katmanı dönüştürürken katman maskeleri için doğru yeniden boyutlandırma/döndürme/kırpma) | Geliştirme | 
| PSDNET-276 | Bazı küreselleştirme ayarlarında AI Görüntü raster görüntüsü açılamaz | Hata | 
| PSDNET-194 | Katmanda FlipRotate işlemi gerçekleştirdikten sonra, PSD Görüntüsü okunamaz hale geliyor | Hata | 
| PSDNET-177. | PSD dosyasını yüklerken System.ArgumentException | Hata | 
| PSDNET-249 | Yalnızca bir katman için bir dönüşüm yöntemi kullandıktan sonra, kaydedilen katmanın yanlış sınırları veya bir maskesi vardır | Hata | 
Genel API Değişiklikleri
Eklenen API’ler:
- P:Aspose.PSD.FileFormats.Psd.Layers.LayerMaskDataFull.UserMaskRectangle
- M:Aspose.PSD.FileFormats.Ai.AiDataSection.ReleaseManagedResources
- P:Aspose.PSD.FileFormats.Psd.Layers.LayerGroup.Width
- P:Aspose.PSD.FileFormats.Psd.Layers.LayerGroup.Height
- T:Aspose.PSD.FileFormats.Psd.Layers.AdjustmentLayers.BlackWhiteAdjustmentLayer
- P:Aspose.PSD.FileFormats.Psd.Layers.AdjustmentLayers.BlackWhiteAdjustmentLayer.Reds
- P:Aspose.PSD.FileFormats.Psd.Layers.AdjustmentLayers.BlackWhiteAdjustmentLayer.Yellows
- P:Aspose.PSD.FileFormats.Psd.Layers.AdjustmentLayers.BlackWhiteAdjustmentLayer.Greens
- P:Aspose.PSD.FileFormats.Psd.Layers.AdjustmentLayers.BlackWhiteAdjustmentLayer.Cyans
- P:Aspose.PSD.FileFormats.Psd.Layers.AdjustmentLayers.BlackWhiteAdjustmentLayer.Blues
- P:Aspose.PSD.FileFormats.Psd.Layers.AdjustmentLayers.BlackWhiteAdjustmentLayer.Magentas
- P:Aspose.PSD.FileFormats.Psd.Layers.AdjustmentLayers.BlackWhiteAdjustmentLayer.UseTint
- P:Aspose.PSD.FileFormats.Psd.Layers.AdjustmentLayers.BlackWhiteAdjustmentLayer.BwPresetKind
- P:Aspose.PSD.FileFormats.Psd.Layers.AdjustmentLayers.BlackWhiteAdjustmentLayer.BlackAndWhitePresetFileName
- P:Aspose.PSD.FileFormats.Psd.Layers.AdjustmentLayers.BlackWhiteAdjustmentLayer.TintColor
- P:Aspose.PSD.FileFormats.Psd.Layers.AdjustmentLayers.BlackWhiteAdjustmentLayer.TintColorRed
- P:Aspose.PSD.FileFormats.Psd.Layers.AdjustmentLayers.BlackWhiteAdjustmentLayer.TintColorGreen
- P:Aspose.PSD.FileFormats.Psd.Layers.AdjustmentLayers.BlackWhiteAdjustmentLayer.TintColorBlue
- T:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.BlwhResource
- M:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.BlwhResource.#ctor
- M:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.BlwhResource.Save(Aspose.PSD.StreamContainer,System.Int32)
- F:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.BlwhResource.TypeToolKey
- P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.BlwhResource.Key
- P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.BlwhResource.Length
- P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.BlwhResource.PsdVersion
- P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.BlwhResource.Reds
- P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.BlwhResource.Yellows
- P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.BlwhResource.Greens
- P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.BlwhResource.Cyans
- P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.BlwhResource.Blues
- P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.BlwhResource.Magentas
- P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.BlwhResource.UseTint
- P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.BlwhResource.BwPresetKind
- P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.BlwhResource.BlackAndWhitePresetFileName
- P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.BlwhResource.TintColor
- M:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.Lr16Resource.#ctor
- P:Aspose.PSD.Xmp.Types.Derived.RenditionClass.DefinedValues
- T:Aspose.PSD.AggregateException
- M:Aspose.PSD.CmykColor.Equals(System.Object)
- T:Aspose.PSD.CompositeException
- T:Aspose.PSD.CoreExceptions.IndexOutOFRangeException
- M:Aspose.PSD.CoreExceptions.IndexOutOFRangeException.#ctor(System.String)
- M:Aspose.PSD.CoreExceptions.IndexOutOFRangeException.#ctor(System.String,System.Exception)
- F:Aspose.PSD.FileFormat.Otg
- T:Aspose.PSD.FileFormats.Jpeg2000.Jpeg2000CustomException
- T:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.CurvResource
- M:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.CurvResource.#ctor(System.Int32)
- M:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.CurvResource.#ctor(System.Byte[])
- P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.CurvResource.Key
- P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.CurvResource.Length
- P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.CurvResource.PsdVersion
- P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.CurvResource.IsDataStoredDiscretely
- M:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.CurvResource.GetChannelData(System.Int32)
- M:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.CurvResource.GetActiveManager
- M:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.CurvResource.Save(Aspose.PSD.StreamContainer,System.Int32)
- M:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.CurvResource.GetCurveManager
- F:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.CurvResource.TypeToolKey
- T:Aspose.PSD.ImageOptions.TiffOptionsUtils
- M:Aspose.PSD.ImageOptions.TiffOptionsUtils.#ctor
- M:Aspose.PSD.ImageOptions.TiffOptionsUtils.GetValidTagsCount(Aspose.PSD.FileFormats.Tiff.TiffDataType[])
- P:Aspose.PSD.ImageOptionsBase.ProgressEventHandler
- P:Aspose.PSD.LoadOptions.ProgressEventHandler
- M:Aspose.PSD.Matrix.#ctor(Aspose.PSD.Matrix)
- M:Aspose.PSD.Metered.Equals(System.Object)
- T:Aspose.PSD.ProgressEventHandler
- T:Aspose.PSD.ProgressManagement.EventType
- F:Aspose.PSD.ProgressManagement.EventType.RelativeProgress
- F:Aspose.PSD.ProgressManagement.EventType.StageChange
- F:Aspose.PSD.ProgressManagement.EventType.Initialization
- F:Aspose.PSD.ProgressManagement.EventType.PreProcessing
- F:Aspose.PSD.ProgressManagement.EventType.Processing
- F:Aspose.PSD.ProgressManagement.EventType.Finalization
- T:Aspose.PSD.ProgressManagement.ProgressEventHandlerInfo
- P:Aspose.PSD.ProgressManagement.ProgressEventHandlerInfo.Description
- P:Aspose.PSD.ProgressManagement.ProgressEventHandlerInfo.EventType
- P:Aspose.PSD.ProgressManagement.ProgressEventHandlerInfo.MaxValue
- P:Aspose.PSD.ProgressManagement.ProgressEventHandlerInfo.Value
- M:Aspose.PSD.RasterImage.GetSkewAngle
- M:Aspose.PSD.RasterImage.NormalizeAngle
- M:Aspose.PSD.RasterImage.NormalizeAngle(System.Boolean,Aspose.PSD.Color)
Kaldırılan API’ler:
- M:Aspose.PSD.FileFormats.Ai.AiDataSection.Dispose
- P:Aspose.PSD.FileFormats.Ai.AiRasterImageSection.ImageRectangle
- M:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.Lr16Resource.#ctor(System.Int32)
- F:Aspose.PSD.Xmp.Types.Derived.RenditionClass.DefinedValues
Kullanım Örnekleri:
PSDNET-206. Metin Katmanı içinde farklı renklerde metinleri çizme yeteneğinin iyileştirilmesi
  using (var psdImage = (PsdImage)Image.Load("text_ethalon_different_colors.psd"))
{
    var txtLayer = (TextLayer)psdImage.Layers[1];
    txtLayer.TextData.UpdateLayerData();
    psdImage.Save("output.png", new PngOptions());
}PSDNET-369. clbl kaynağının (Katman kaynağı, karışım klipleri hakkında bilgi içerir) desteklenmesi
        void AssertIsTrue(bool condition, string message)
        {
            if (!condition)
            {
                throw new FormatException(message);
            }
        }
        string sourceFileName = "SampleForResource.psd";
        string destinationFileName = "Output" + sourceFileName;
        ClblResource GetClblResource(PsdImage im)
        {
            foreach (var layer in im.Layers)
            {
                foreach (var layerResource in layer.Resources)
                {
                    if (layerResource is ClblResource)
                    {
                        return (ClblResource)layerResource;
                    }
                }
            }
            throw new Exception("Belirtilen ClblResource bulunamadı");
        }
        using (PsdImage im = (PsdImage)Image.Load(sourceFileName))
        {
            var resource = GetClblResource(im);
            AssertIsTrue(resource.BlendClippedElements, "ClblResource.BlendClippedElements true olmalı");
            // Düzenleme ve kaydetme testi
            resource.BlendClippedElements = false;
            im.Save(destinationFileName);
        }
        using (PsdImage im = (PsdImage)Image.Load(destinationFileName))
        {
            var resource = GetClblResource(im);
            AssertIsTrue(!resource.BlendClippedElements, "ClblResource.BlendClippedElements false olmalı");
        }PSDNET-274. blwh kaynağının (Kaynak, Siyah ve Beyaz Ayarlama Katmanı Verileri içerir) desteklenmesi
         const string ActualPropertyValueIsWrongMessage = "Beklenen özellik değeri, gerçek değerle eşit değil";
        void AssertIsTrue(bool condition, string message)
        {
            if (!condition)
            {
                throw new FormatException(message);
            }
        }
        void ExampleSupportOfBlwhResource(
            string sourceFileName,
            int reds,
            int yellows,
            int greens,
            int cyans,
            int blues,
            int magentas,
            bool useTint,
            int bwPresetKind,
            string bwPresetFileName,
            double tintColorRed,
            double tintColorGreen,
            double tintColorBlue,
            int tintColor,
            int newTintColor)
        {
            string destinationFileName = "Output" + sourceFileName;
            bool isRequiredResourceFound = false;
            using (PsdImage im = (PsdImage)Image.Load(sourceFileName))
            {
                foreach (var layer in im.Layers)
                {
                    foreach (var layerResource in layer.Resources)
                    {
                        if (layerResource is BlwhResource)
                        {
                            var blwhResource = (BlwhResource)layerResource;
                            var blwhLayer = (BlackWhiteAdjustmentLayer)layer;
                            isRequiredResourceFound = true;
                            AssertIsTrue(blwhResource.Reds == reds, ActualPropertyValueIsWrongMessage);
                            AssertIsTrue(blwhResource.Yellows == yellows, ActualPropertyValueIsWrongMessage);
                            AssertIsTrue(blwhResource.Greens == greens, ActualPropertyValueIsWrongMessage);
                            AssertIsTrue(blwhResource.Cyans == cyans, ActualPropertyValueIsWrongMessage);
                            AssertIsTrue(blwhResource.Blues == blues, ActualPropertyValueIsWrongMessage);
                            AssertIsTrue(blwhResource.Magentas == magentas, ActualPropertyValueIsWrongMessage);
                            AssertIsTrue(blwhResource.UseTint == useTint, ActualPropertyValueIsWrongMessage);
                            AssertIsTrue(blwhResource.TintColor == tintColor, ActualPropertyValueIsWrongMessage);
                            AssertIsTrue(blwhResource.BwPresetKind == bwPresetKind, ActualPropertyValueIsWrongMessage);
                            AssertIsTrue(blwhResource.BlackAndWhitePresetFileName == bwPresetFileName, ActualPropertyValueIsWrongMessage);
                            AssertIsTrue(Math.Abs(blwhLayer.TintColorRed - tintColorRed) < 1e-6, ActualPropertyValueIsWrongMessage);
                            AssertIsTrue(Math.Abs(blwhLayer.TintColorGreen - tintColorGreen) < 1e-6, ActualPropertyValueIsWrongMessage);
                            AssertIsTrue(Math.Abs(blwhLayer.TintColorBlue - tintColorBlue) < 1e-6, ActualPropertyValueIsWrongMessage);
                            // Düzenleme ve kaydetme testi
                            blwhResource.Reds = reds - 15;
                            blwhResource.Yellows = yellows - 15;
                            blwhResource.Greens = greens + 15;
                            blwhResource.Cyans = cyans + 15;
                            blwhResource.Blues = blues - 15;
                            blwhResource.Magentas = magentas - 15;
                            blwhResource.UseTint = !useTint;
                            blwhResource.BwPresetKind = 4;
                            blwhResource.BlackAndWhitePresetFileName = "bwPresetFileName";
                            blwhLayer.TintColorRed = tintColorRed - 60;
                            blwhLayer.TintColorGreen = tintColorGreen - 60;
                            blwhLayer.TintColorBlue = tintColorBlue - 60;
                            im.Save(destinationFileName);
                            break;
                        }
                    }
                }
            }
            AssertIsTrue(isRequiredResourceFound, "Belirtilen BlwhResource bulunamadı");
            isRequiredResourceFound = false;
            using (PsdImage im = (PsdImage)Image.Load(destinationFileName))
            {
                foreach (var layer in im.Layers)
                {
                    foreach (var layerResource in layer.Resources)
                    {
                        if (layerResource is BlwhResource)
                        {
                            var blwhResource = (BlwhResource)layerResource;
                            var blwhLayer = (BlackWhiteAdjustmentLayer)layer;
                            isRequiredResourceFound = true;
                            AssertIsTrue(blwhResource.Reds == reds - 15, ActualPropertyValueIsWrongMessage);
                            AssertIsTrue(blwhResource.Yellows == yellows - 15, ActualPropertyValueIsWrongMessage);
                            AssertIsTrue(blwhResource.Greens == greens + 15, ActualPropertyValueIsWrongMessage);
                            AssertIsTrue(blwhResource.Cyans == cyans + 15, ActualPropertyValueIsWrongMessage);
                            AssertIsTrue(blwhResource.Blues == blues - 15, ActualPropertyValueIsWrongMessage);
                            AssertIsTrue(blwhResource.Magentas == magentas - 15, ActualPropertyValueIsWrongMessage);
                            AssertIsTrue(blwhResource.UseTint == !useTint, ActualPropertyValueIsWrongMessage);
                            AssertIsTrue(blwhResource.TintColor == newTintColor, ActualPropertyValueIsWrongMessage);
                            AssertIsTrue(blwhResource.BwPresetKind == 4, ActualPropertyValueIsWrongMessage);
                            AssertIsTrue(blwhResource.BlackAndWhitePresetFileName == "bwPresetFileName", ActualPropertyValueIsWrongMessage);
                            AssertIsTrue(Math.Abs(blwhLayer.TintColorRed - tintColorRed + 60) < 1e-6, ActualPropertyValueIsWrongMessage);
                            AssertIsTrue(Math.Abs(blwhLayer.TintColorGreen - tintColorGreen + 60) < 1e-6, ActualPropertyValueIsWrongMessage);
                            AssertIsTrue(Math.Abs(blwhLayer.TintColorBlue - tintColorBlue + 60) < 1e-6, ActualPropertyValueIsWrongMessage);
                            break;
                        }
                    }
                }
            }
            AssertIsTrue(isRequiredResourceFound, "Belirtilen BlwhResource bulunamadı");
        Console.WriteLine("BlwhResource güncelleme beklenildiği gibi çalışıyor. Devam etmek için herhangi bir tuşa basın.");PSDNET-230. Katman Grubunu Jpeg/Png/Tiff/Gif/Bmp/Jpeg2000/Psd/Psb/Pdf olarak dışa aktarma yeteneği
  using (var psdImage = (PsdImage)Image.Load("1.psd"))
            {
                // Arka planla birlikte klasör
                LayerGroup bg_folder = (LayerGroup)psdImage.Layers[0];
                // İçerikle birlikte klasör
                LayerGroup content_folder = (LayerGroup)psdImage.Layers[4];
                bg_folder.Save("background.png", new PngOptions());
                content_folder.Save("content.png", new PngOptions());
            } PSDNET-372. lspf Kaynağının (Katman Koruma ayarlarını içeren) desteklenmesi
         const string ActualPropertyValueIsWrongMessage = "Beklenen özellik değeri, gerçek değerle eşit değil";
        void AssertIsTrue(bool condition, string message)
        {
            if (!condition)
            {
                throw new FormatException(message);
            }
        }
        string sourceFileName = "SampleForResource.psd";
        string destinationFileName = "Output" + sourceFileName;
        bool isRequiredResourceFound = false;
        using (PsdImage im = (PsdImage)Image.Load(sourceFileName))
        {
            foreach (var layer in im.Layers)
            {
                foreach (var layerResource in layer.Resources)
                {
                    if (layerResource is LspfResource)
                    {
                        var resource = (LspfResource)layerResource;
                        isRequiredResourceFound = true;
                        AssertIsTrue(false == resource.IsCompositeProtected, ActualPropertyValueIsWrongMessage);
                        AssertIsTrue(false == resource.IsPositionProtected, ActualPropertyValueIsWrongMessage);
                        AssertIsTrue(false == resource.IsTransparencyProtected, ActualPropertyValueIsWrongMessage);
                        // Düzenleme ve kaydetme testi
                        resource.IsCompositeProtected = true;
                        AssertIsTrue(true == resource.IsCompositeProtected, ActualPropertyValueIsWrongMessage);
                        AssertIsTrue(false == resource.IsPositionProtected, ActualPropertyValueIsWrongMessage);
                        AssertIsTrue(false == resource.IsTransparencyProtected, ActualPropertyValueIsWrongMessage);
                        resource.IsCompositeProtected = false;
                        resource.IsPositionProtected = true;
                        AssertIsTrue(false == resource.IsCompositeProtected, ActualPropertyValueIsWrongMessage);
                        AssertIsTrue(true == resource.IsPositionProtected, ActualPropertyValueIsWrongMessage);
                        AssertIsTrue(false == resource.IsTransparencyProtected, ActualPropertyValueIsWrongMessage);
                        resource.IsPositionProtected = false;
                        resource.IsTransparencyProtected = true;
                        AssertIsTrue(false == resource.IsCompositeProtected, ActualPropertyValueIsWrongMessage);
                        AssertIsTrue(false == resource.IsPositionProtected, ActualPropertyValueIsWrongMessage);
                        AssertIsTrue(true == resource.IsTransparencyProtected, ActualPropertyValueIsWrongMessage);
                        resource.IsCompositeProtected = true;
                        resource.IsPositionProtected = true;
                        resource.IsTransparencyProtected = true;
                        im.Save(destinationFileName);
                        break;
                    }
                }
            }
        }
        AssertIsTrue(isRequiredResourceFound, "Belirtilen LspfResource bulunamadı");
        isRequiredResourceFound = false;
        using (PsdImage im = (PsdImage)Image.Load(destinationFileName))
        {
            foreach (var layer in im.Layers)
            {
                foreach (var layerResource in layer.Resources)
                {
                    if (layerResource is LspfResource)
                    {
                        var resource = (LspfResource)layerResource;
                        isRequiredResourceFound = true;
                        AssertIsTrue(resource.IsCompositeProtected, ActualPropertyValueIsWrongMessage);
                        AssertIsTrue(resource.IsPositionProtected, ActualPropertyValueIsWrongMessage);
                        AssertIsTrue(resource.IsTransparencyProtected, ActualPropertyValueIsWrongMessage);
                        break;
                    }
                }
            }
        }
        AssertIsTrue(isRequiredResourceFound, "Belirtilen LspfResource bulunamadı");
        Console.WriteLine("LspfResource güncelleme beklenildiği gibi çalışıyor. Devam etmek için herhangi bir tuşa basın."); PSDNET-370. infx kaynağının (İç elemanların karışımı hakkında veriler içerir) desteklenmesi
         void AssertIsTrue(bool condition, string message)
        {
            if (!condition)
            {
                throw new FormatException(message);
            }
        }
        string sourceFileName = "SampleForResource.psd";
        string destinationFileName = "Output" + sourceFileName;
        bool isRequiredResourceFound = false;
        using (PsdImage im = (PsdImage)Image.Load(sourceFileName))
        {
            foreach (var layer in im.Layers)
            {
                foreach (var layerResource in layer.Resources)
                {
                    if (layerResource is InfxResource)
                    {
                        var resource = (InfxResource)layerResource;
                        isRequiredResourceFound = true;
                        AssertIsTrue(!resource.BlendInteriorElements, "InfxResource.BlendInteriorElements false olmalı");
                        // Düzenleme ve kaydetme testi
                        resource.BlendInteriorElements = true;
                        im.Save(destinationFileName);
                        break;
                    }
                }
            }
        }
        AssertIsTrue(isRequiredResourceFound, "Belirtilen InfxResource bulunamadı");
        isRequiredResourceFound = false;
        using (PsdImage im = (PsdImage)Image.Load(destinationFileName))
        {
            foreach (var layer in im.Layers)
            {
                foreach (var layerResource in layer.Resources)
                {
                    if (layerResource is InfxResource)
                    {
                        var resource = (InfxResource)layerResource;
                        isRequiredResourceFound = true;
                        AssertIsTrue(resource.BlendInteriorElements, "InfxResource.BlendInteriorElements true olmalı");
                        break;
                    }
                }
            }
        }
        AssertIsTrue(isRequiredResourceFound, "Belirtilen InfxResource bulunamadı");