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