Aspose.PSD için .NET 18.12 - Sürüm Notları

Anahtar Özet Kategori
PSDNET-76 Vuruş Katmanı Desteği Özellik
PSDNET-83 Gradyan Efekti Desteği Özellik
PSDNET-84 Desen Efekti Desteği Özellik
PSDNET-89 Yeni oluşturulan düzenli katmanı PsdImage’a ekleyebilme yeteneği Özellik
PSDNET-93 Metin katmanının içeriğini \ (ters eğik çizgi) karakteri ile güncelledikten sonra, sonuç dosyası Photoshop’ta açılamıyor Hata
PSDNET-39 CMYK Renk Modunda aşırı boyutlu resim verileriyle dışa aktarıldıktan sonra bozuk resimler Hata
PSDNET-52 Olası: PSD’de dönme çalışmıyor Hata
PSDNET-88 Olası: Aspose.Psd’deki kırpma yöntemleri çalışmıyor Hata
PSDNET-91 Aspose.Imaging’in değişikliklerini Aspose.PSD’ye uygulayın Geliştirme

Genel API Değişiklikleri

Metod Aspose.PSD.FileFormats.Psd.PsdImage.AddRegularLayer

Sınıf Aspose.PSD.CoreExceptions.ImageFormats.PsdImageArgumentException

Metod Aspose.PSD.CoreExceptions.ImageFormats.PsdImageArgumentException.#ctor(System.String)

Metod Aspose.PSD.CoreExceptions.ImageFormats.PsdImageArgumentException.#ctor(System.String,System.Exception)

Sınıf Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.BaseFillSettings

Metod Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.BaseFillSettings.#ctor

Özellik Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.BaseFillSettings.FillType

Sınıf Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.ColorFillSettings

Özellik Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.ColorFillSettings.Color

Özellik Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.ColorFillSettings.FillType

Sınıf Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.FillType

Alan/Sıra Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.FillType.Color

Alan/Sıra Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.FillType.Gradient

Alan/Sıra Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.FillType.Pattern

Sınıf Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.GradientColorPoint

Özellik Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.GradientColorPoint.Color

Özellik Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.GradientColorPoint.Location

Özellik Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.GradientColorPoint.MedianPointLocation

Sınıf Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.GradientFillSettings

Özellik Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.GradientFillSettings.Color

Özellik Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.GradientFillSettings.AlignWithLayer

Özellik Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.GradientFillSettings.Dither

Özellik Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.GradientFillSettings.Reverse

Özellik Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.GradientFillSettings.Angle

Özellik Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.GradientFillSettings.GradientType

Özellik Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.GradientFillSettings.HorizontalOffset

Özellik Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.GradientFillSettings.VerticalOffset

Özellik Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.GradientFillSettings.FillType

Özellik Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.GradientFillSettings.ColorPoints

Özellik Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.GradientFillSettings.TransparencyPoints

Metod Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.GradientFillSettings.AddColorPoint

Metod Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.GradientFillSettings.AddTransparencyPoint

Metod Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.GradientFillSettings.RemoveTransparencyPoint(Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.GradientTransparencyPoint)

Metod Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.GradientFillSettings.RemoveColorPoint(Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.GradientColorPoint)

Sınıf Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.GradientTransparencyPoint

Özellik Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.GradientTransparencyPoint.Opacity

Özellik Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.GradientTransparencyPoint.Location

Özellik Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.GradientTransparencyPoint.MedianPointLocation

Sınıf Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.PatternFillSettings

Özellik Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.PatternFillSettings.FillType

Özellik Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.PatternFillSettings.Linked

Özellik Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.PatternFillSettings.Scale

Özellik Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.PatternFillSettings.PointType

Özellik Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.PatternFillSettings.PatternName

Özellik Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.PatternFillSettings.PatternId

Özellik Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.PatternFillSettings.HorizontalOffset

Özellik Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.PatternFillSettings.VerticalOffset

Sınıf Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.StrokeEffect

Özellik Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.StrokeEffect.BlendMode

Özellik Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.StrokeEffect.IsVisible

Özellik Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.StrokeEffect.FillSettings

Özellik Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.StrokeEffect.Opacity

Sınıf Aspose.PSD.FileFormats.Psd.Layers.LayerResources.Lfx2Resources.GradientType

Alan/Sıra Aspose.PSD.FileFormats.Psd.Layers.LayerResources.Lfx2Resources.GradientType.Linear

Alan/Sıra Aspose.PSD.FileFormats.Psd.Layers.LayerResources.Lfx2Resources.GradientType.Radial

Alan/Sıra Aspose.PSD.FileFormats.Psd.Layers.LayerResources.Lfx2Resources.GradientType.Angle

Alan/Sıra Aspose.PSD.FileFormats.Psd.Layers.LayerResources.Lfx2Resources.GradientType.Reflected

Alan/Sıra Aspose.PSD.FileFormats.Psd.Layers.LayerResources.Lfx2Resources.GradientType.Diamond

Alan/Sıra Aspose.PSD.FileFormats.Psd.Layers.LayerResources.Lfx2Resources.GradientType.ShapeBurst

Sınıf Aspose.PSD.FileFormats.Psd.Layers.LayerResources.PattResource

Metod Aspose.PSD.FileFormats.Psd.Layers.LayerResources.PattResource.#ctor

Metod Aspose.PSD.FileFormats.Psd.Layers.LayerResources.PattResource.#ctor(System.Byte[])

Özellik Aspose.PSD.FileFormats.Psd.Layers.LayerResources.PattResource.PatternData

Özellik Aspose.PSD.FileFormats.Psd.Layers.LayerResources.PattResource.PatternId

Özellik Aspose.PSD.FileFormats.Psd.Layers.LayerResources.PattResource.Name

Özellik Aspose.PSD.FileFormats.Psd.Layers.LayerResources.PattResource.Height

Özellik Aspose.PSD.FileFormats.Psd.Layers.LayerResources.PattResource.Width

Özellik Aspose.PSD.FileFormats.Psd.Layers.LayerResources.PattResource.ImageMode

Özellik Aspose.PSD.FileFormats.Psd.Layers.LayerResources.PattResource.Version

Özellik Aspose.PSD.FileFormats.Psd.Layers.LayerResources.PattResource.PatternLength

Özellik Aspose.PSDFileFormats.Psd.Layers.LayerResources.PattResource.Signature

Özellik Aspose.PSD.FileFormats.Psd.Layers.LayerResources.PattResource.Key

Özellik Aspose.PSD.FileFormats.Psd.Layers.LayerResources.PattResource.Length

Özellik Aspose.PSD.FileFormats.Psd.Layers.LayerResources.PattResource.PsdVersion

Metod Aspose.PSD.FileFormats.Psd.Layers.LayerResources.PattResource.SetPattern(System.Int32[],Aspose.PSD.Rectangle)

Metod Aspose.PSD.FileFormats.Psd.Layers.LayerResources.PattResource.Save(Aspose.PSD.StreamContainer,System.Int32)

Alan/Sıra Aspose.PSD.FileFormats.Psd.Layers.LayerResources.PattResource.TypeToolKey

Metod Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.GradientFillSettings.#ctor

Metod Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.GradientFillSettings.GenerateLfx2ResourceNodes

Sınıf Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.GradientOverlayEffect

Özellik Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.GradientOverlayEffect.Settings

Özellik Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.GradientOverlayEffect.BlendMode

Özellik Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.GradientOverlayEffect.IsVisible

Özellik Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.GradientOverlayEffect.Opacity

Özellik Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.PatternFillSettings.Color

Metod Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.BlendingOptions.AddGradientOverlay

Metod Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.BlendingOptions.AddPatternOverlay

Metod Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.PatternFillSettings.GenerateLfx2ResourceNodes(System.String,Aspose.PSD.Color,System.String,System.String,System.Double,System.Boolean,Aspose.PSD.PointF)

Sınıf Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.PatternOverlayEffect

Özellik Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.PatternOverlayEffect.Settings

Özellik Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.PatternOverlayEffect.BlendMode

Özellik Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.PatternOverlayEffect.IsVisible

Özellik Aspose.PSD.FileFormats.Psd.Layers.LayerEffects.PatternOverlayEffect.Opacity

Kullanım Örnekleri:

PSDNET-76. Vuruş Katmanı Desteği

1) Doldurma türü - Desen

    // Vuruş efekti. Doldurma türü - Desen. Örnek

    string kaynakDosyaAdi = "Vuruş.psd";

    string ihracatYolu = "VuruşDesenDeğişikliği.psd";

    var yüklemeSeçenekleri = new PsdLoadOptions()

    {

        LoadEffectsResource = true

    };

    // Yeni verinin hazırlanması

    var yeniDesen = new int[]

    {

         Color.Aqua.ToArgb(), Color.Red.ToArgb(), Color.Red.ToArgb(), Color.Aqua.ToArgb(),

         Color.Aqua.ToArgb(), Color.White.ToArgb(), Color.White.ToArgb(), Color.Aqua.ToArgb(),

         Color.Aqua.ToArgb(), Color.White.ToArgb(), Color.White.ToArgb(), Color.Aqua.ToArgb(),

         Color.Aqua.ToArgb(), Color.Red.ToArgb(), Color.Red.ToArgb(), Color.Aqua.ToArgb(),

    };

   var yeniDesenSınırları = new Rectangle(0, 0, 4, 4);

   var rehber = Guid.NewGuid();

    using (var im = (PsdImage)Image.Load(kaynakDosyaAdi, yüklemeSeçenekleri))

    {

         var desenVuruşu = (StrokeEffect)im.Layers[3].BlendingOptions.Effects[0];

         Assert.AreEqual(BlendMode.Normal, desenVuruşu.BlendMode);

         Assert.AreEqual(255, desenVuruşu.Opacity);

         Assert.AreEqual(true, desenVuruşu.IsVisible);

         var doldurmaAyarları = (PatternFillSettings)desenVuruşu.FillSettings;

         Assert.AreEqual(FillType.Pattern, doldurmaAyarları.FillType);

         desenVuruşu.Opacity = 127;

         desenVuruşu.BlendMode = BlendMode.Color;

         PattResource kaynak;

         foreach (var genelKatmanKaynağı in im.GlobalLayerResources)

         {

             if (genelKatmanKaynağı is PattResource)

             {

                  kaynak = (PattResource)genelKatmanKaynağı;

                  kaynak.PatternId = rehber.ToString();

                  kaynak.Name = "$$$/Presets/Patterns/HorizontalLine1=Horizontal Line 9\0";        

                  kaynak.SetPattern(yeniDesen, yeniDesenSınırları);               

             }

         }

         ((PatternFillSettings)doldurmaAyarları).PatternName = "$$$/Presets/Patterns/HorizontalLine1=Horizontal Line 9\0";

         ((PatternFillSettings)doldurmaAyarları).PatternId = rehber.ToString() + "\0";

        im.Save(ihracatYolu);

    }

    // Düzenleme sonrası dosya testi

    using (var im = (PsdImage)Image.Load(kaynakDosyaAdi, yüklemeSeçenekleri))

    {

        var desenVuruşu = (StrokeEffect)im.Layers[3].BlendingOptions.Effects[0];

        PattResource kaynak = null;

        foreach (var genelKatmanKaynağı in im.GlobalLayerResources)

        {

            if (genelKatmanKaynağı is PattResource)

            {

                kaynak = (PattResource)genelKatmanKaynağı;

            }

        }

        if (kaynak == null)

        {

            throw new Exception("PattResource bulunamadı");

        }

        // Desen verisini kontrol et

        Assert.AreEqual(yeniDesen, kaynak.PatternData);

        Assert.AreEqual(yeniDesenSınırları, new Rectangle(0, 0, kaynak.Width, kaynak.Height));

        Assert.AreEqual(rehber.ToString(), kaynak.PatternId);

        Assert.AreEqual(BlendMode.Color, desenVuruşu.BlendMode);

        Assert.AreEqual(127, desenVuruşu.Opacity);

        Assert.AreEqual(true, desenVuruşu.IsVisible);

        var doldurmaAyarları = (PatternFillSettings)desenVuruşu.FillSettings;

        Assert.AreEqual(FillType.Pattern, doldurmaAyarları.FillType);

    }

Doldurma türü - Gradyan

     // Vuruş efekti. Doldurma türü - Gradyan. Örnek

    string kaynakDosyaAdi = "Vuruş.psd";

    string ihracatYolu = "VuruşGradyanDeğişikliği.psd";

    var yüklemeSeçenekleri = new PsdLoadOptions()

    {

        LoadEffectsResource = true

    };

    using (var im = (PsdImage)Image.Load(kaynakDosyaAdi, yüklemeSeçenekleri))

    {

        var gradyanVuruşu = (StrokeEffect)im.Layers[2].BlendingOptions.Effects[0];

        Assert.AreEqual(BlendMode.Normal, gradyanVuruşu.BlendMode);

        Assert.AreEqual(255, gradyanVuruşu.Opacity);

        Assert.AreEqual(true, gradyanVuruşu.IsVisible);

        var doldurmaAyarları = (GradientFillSettings)gradyanVuruşu.FillSettings;

        Assert.AreEqual(Color.Black, doldurmaAyarları.Color);

        Assert.AreEqual(FillType.Gradient, doldurmaAyarları.FillType);

        Assert.AreEqual(true, doldurmaAyarları.AlignWithLayer);

        Assert.AreEqual(GradientType.Linear, doldurmaAyarları.GradientType);

        Assert.assertTrue(Math.Abs(90 - doldurmaAyarları.Angle) < 0.001, "Açı yanlış");

        Assert.AreEqual(false, doldurmaAyarları.Dither);

        Assert.assertTrue(Math.Abs(0 - doldurmaAyarları.HorizontalOffset) < 0.001, "Yatay ofset yanlış");

        Assert.assertTrue(Math.Abs(0 - doldurmaAyarları.VerticalOffset) < 0.001, "Dikey ofset yanlış");

        Assert.AreEqual(false, doldurmaAyarları.Reverse);

        // Renk Noktaları

        var renkNoktaları = doldurmaAyarları.ColorPoints;

        Assert.AreEqual(2, renkNoktaları.Length);

        Assert.AreEqual(Color.Black, renkNoktaları[0].Color);

        Assert.AreEqual(0, renkNoktaları[0].Location);

        Assert.AreEqual(50, renkNoktaları[0].MedianPointLocation);

        Assert.AreEqual(Color.White, renkNoktaları[1].Color);

        Assert.AreEqual(4096, renkNoktaları[1].Location);

        Assert.AreEqual(50, renkNoktaları[1].MedianPointLocation);

        // Şeffaflık noktaları

        var şeffaflıkNoktaları = doldurmaAyarları.TransparencyPoints;

        Assert.AreEqual(2, şeffaflıkNoktaları.Length);

        Assert.AreEqual(0, şeffaflıkNoktaları[0].Location);

        Assert.AreEqual(50, şeffaflıkNoktaları[0].MedianPointLocation);

        Assert.AreEqual(100, şeffaflıkNoktaları[0].Opacity);

        Assert.AreEqual(4096, şeffaflıkNoktaları[1].Location);

        Assert.AreEqual(50, şeffaflıkNoktaları[1].MedianPointLocation);

        Assert.AreEqual(100, şeffaflıkNoktaları[1].Opacity);

        // Düzenleme testi

        doldurmaAyarları.Color = Color.Green;

        gradyanVuruşu.Opacity = 127;

        gradyanVuruşu.BlendMode = BlendMode.Color;

        doldurmaAyarları.AlignWithLayer = false;

        doldurmaAyarları.GradientType = GradientType.Radial;

        doldurmaAyarları.Angle = 45;

        doldurmaAyarları.Dither = true;

        doldurmaAyarları.HorizontalOffset = 15;

        doldurmaAyarları.VerticalOffset = 11;

        doldurmaAyarları.Reverse = true;

        // Yeni renk noktası ekle

        var renkNoktası = doldurmaAyarları.AddColorPoint();

        renkNoktası.Color = Color.Green;        

        renkNoktası.Location = 4096;

        renkNoktası.MedianPointLocation = 75;

        // Önceki noktanın konumunu değiştir

        doldurmaAyarları.ColorPoints[1].Location = 1899;

        // Yeni şeffaflık noktası ekle

        var şeffaflıkNoktası = doldurmaAyarları.AddTransparencyPoint();

        şeffaflıkNoktası.Opacity = 25;

        şeffaflıkNoktası.MedianPointLocation = 25;

        şeffaflıkNoktası.Location = 4096;

        // Önceki şeffaflık noktasının konumunu değiştir

        doldurmaAyarları.TransparencyPoints[1].Location = 2411;

        im.Save(ihracatYolu);

    }

    // Düzenleme sonrası dosya testi

    using (var im = (PsdImage)Image.Load(ihracatYolu, yüklemeSeçenekleri))

    {

        var gradyanVuruşu = (StrokeEffect)im.Layers[2].BlendingOptions.Effects[0];

        Assert.AreEqual(BlendMode.Color, gradyanVuruşu.BlendMode);

        Assert.AreEqual(127, gradyanVuruşu.Opacity);

        Assert.AreEqual(true, gradyanVuruşu.IsVisible);

        var doldurmaAyarları = (GradientFillSettings)gradyanVuruşu.FillSettings;

        Assert.AreEqual(Color.Green, doldurmaAyarları.Color);

        Assert.AreEqual(FillType.Gradient, doldurmaAyarları.FillType);

        // Renk noktalarının kontrolü

        Assert.AreEqual(3, doldurmaAyarları.ColorPoints.Length);

        var nokta = doldurmaAyarları.ColorPoints[0];

        Assert.AreEqual(50, nokta.MedianPointLocation);

        Assert.AreEqual(Color.Black, nokta.Color);

        Assert.AreEqual(0, nokta.Location);

        nokta = doldurmaAyarları.ColorPoints[1];

        Assert.AreEqual(50, nokta.MedianPointLocation);

        Assert.AreEqual(Color.White, nokta.Color);

        Assert.AreEqual(1899, nokta.Location);

        nokta = doldurmaAyarları.ColorPoints[2];

        Assert.AreEqual(75, nokta.MedianPointLocation);

        Assert.AreEqual(Color.Green, nokta.Color);

        Assert.AreEqual(4096, nokta.Location);

        // Şeffaflık noktalarının kontrolü

        Assert.AreEqual(3, doldurmaAyarları.TransparencyPoints.Length);

        var şeffaflıkNoktası = doldurmaAyarları.TransparencyPoints[0];

        Assert.AreEqual(50, şeffaflıkNoktası.MedianPointLocation);

        Assert.AreEqual(100, şeffaflıkNoktası.Opacity);

        Assert.AreEqual(0, şeffaflıkNoktası.Location);

        şeffaflıkNoktası = doldurmaAyarları.TransparencyPoints[1];

        Assert.AreEqual(50, şeffaflıkNoktası.MedianPointLocation);

        Assert.AreEqual(100, şeffaflıkNoktası.Opacity);

        Assert.AreEqual(2411, şeffaflıkNoktası.Location);

        şeffaflıkNoktası = doldurmaAyarları.TransparencyPoints[2];

        Assert.AreEqual(25, şeffaflıkNoktası.MedianPointLocation);

        Assert.AreEqual(25, şeffaflıkNoktası.Opacity);

        Assert.AreEqual(4096, şeffaflıkNoktası.Location);

    }

Doldurma türü - Renk

   // Vuruş efekti. Doldurma türü - Renk. Örnek

    var kaynakDosyaAdi = "Vuruş.psd";

    var ihracatYolu = "VuruşRenkDeğişikliği