مثال على استخدام طبقات المجموع في Aspose.PSD لC#

نظرة عامة

تسمح طبقات المجموع في Aspose.PSD لـ C# بتنظيم فعّال وتلاعب بالطبقات في ملف PSD. من خلال استخدام طبقات الحافظة، يمكنك تجميع العديد من الطبقات معًا وتطبيق تحويلات أو تأثيرات على المجموع بأكمله.

يُظهر هذا المثال إنشاء صورة PSD جديدة باستخدام PsdImage.Create. ثم، يتم إنشاء كائن LayerGroup جديد باستخدام AddLayerGroup من كائن PsdImage. يتم تسمية طبقة المجموع بـ “Folder”، وإدراجها في الفهرس 0، وتعيينها لتظل مرئية.

ثم يتم إنشاء طبقتين Layer بتعيين خصائص DisplayName الخاصة بهما. يتم إضافة هذه الطبقات إلى طبقة المجموع باستخدام AddLayer.

يمكن الوصول إلى الطبقات داخل المجموعة عبر الخاصية Layers لكائن LayerGroup. يُؤكد المثال أن أسماء العرض للطبقة الأولى والثانية في المجموعة هي “Layer 1” و “Layer 2”.

بعد تعديل طبقات المجموع، يتم حفظ الصورة PSD المحدثة باستخدام الأسلوب Save لكائن PsdImage.

يُقدم هذا المثال الأساسي تقديمًا عن كيفية العمل مع طبقات المجموع باستخدام Aspose.PSD لـ C#. توفر المكتبة ميزات متقدمة للتلاعب والتحويل بالطبقات في ملفات PSD. راجع توثيق Aspose.PSD لـ C# لمزيد من الأمثلة المفصلة والميزات.

فيما يلي رمز عينة يُظهر استخدام طبقات المجموع في Aspose.PSD لـ C#:

مثال

// For complete examples and data files, please go to https://github.com/aspose-psd/Aspose.PSD-for-.NET
string outputPng = "LayerGroup.psd_folder.png";
using (PsdImage psdImage = new PsdImage(100, 100))
{
// Init background layer
var bgLayer = FillLayer.CreateInstance(FillType.Color);
((IColorFillSettings)bgLayer.FillSettings).Color = Color.Blue;
// Init regular layers
byte[] tempBytes = new byte[10 * 10];
Layer layer1 = new Layer(
new Rectangle(50, 50, 10, 10), tempBytes, tempBytes, tempBytes, "Layer 1");
Layer layer2 = new Layer(
new Rectangle(50, 50, 10, 10), tempBytes, tempBytes, tempBytes, "Layer 2");
// Init and add folder
LayerGroup layerGroup = psdImage.AddLayerGroup("Folder", 0, true);
// add background to PsdImage
psdImage.AddLayer(bgLayer);
// add regular layers to folder
layerGroup.AddLayer(layer1);
layerGroup.AddLayer(layer2);
// Validate that the layers were added correctly
System.Diagnostics.Debug.Assert(layerGroup.Layers[0].DisplayName == "Layer 1");
System.Diagnostics.Debug.Assert(layerGroup.Layers[1].DisplayName == "Layer 2");
psdImage.Save(outputPsd);
layerGroup.Save(outputPng, new PngOptions());
}

للمزيد من المعلومات التفصيلية والأمثلة، يرجى زيارة توثيق Aspose.PSD لـ C#.