PSD(مستند Photoshop) هو تنسيق ملف صور أصلي يستخدمه تطبيق Photoshop الشهير من Adobe. يتم استخدامه بشكل شائع لإنشاء الشعارات والكتيبات والصور الأخرى حيث يحتوي ملف PSD على عدة طبقات. في بعض الحالات ، قد نحتاج إلى معالجة ملفات PSD برمجيًا. في هذه المقالة ، سوف نتعلم كيفية إضافة طبقة جديدة في PSD باستخدام C#.
سيتم تناول الموضوعات التالية في هذه المقالة:
- C# API لإضافة طبقة جديدة في PSD
- إضافة طبقة جديدة إلى PSD
- إضافة طبقة نص جديدة إلى PSD
- إنشاء طبقة من الصورة في PSD
C# API لإضافة طبقة جديدة في PSD
لإنشاء طبقة جديدة في ملف PSD ، سنستخدم Aspose.PSD for .NET API. وهو يدعم إنشاء وتحرير ومعالجة PSD والعديد من تنسيقات الملفات المدعومة.
تسمح فئة PsdImage من API بتحميل وتحرير وحفظ ملفات PSD. تضيف طريقة AddRegularLayer() لهذه الفئة طبقة عادية جديدة. حيث أن طريقة AddTextLayer (سلسلة ، مستطيل) تضيف طبقة نص جديدة إلى PSD. توفر هذه الفئة أيضًا طريقة Save (string) التي تحفظ PSD في موقع الملف المحدد.
يرجى إما تنزيل DLL من API أو تثبيته باستخدام NuGet.
PM> Install-Package Aspose.PSD
أضف طبقة جديدة إلى PSD باستخدام C#
يمكننا إضافة طبقة جديدة إلى ملف PSD باتباع الخطوات الواردة أدناه:
- أولاً ، قم بتحميل ملف PSD كـ PsdImage باستخدام فئة Image.
- بعد ذلك ، قم بإعداد كائن لإضافته مثل المستطيل.
- ثم قم باستدعاء طريقة AddRegularLayer().
- اختياريًا ، قم بتعيين موضع الطبقة مثل Top و Left و Right و Bottom.
- بعد ذلك ، قم بتعيين الكائن للطبقة باستخدام طريقة SaveArgb32Pixels().
- أخيرًا ، احفظ ملف الإخراج باستخدام طريقة Save().
يوضح نموذج التعليمات البرمجية التالي كيفية إضافة طبقة جديدة إلى ملف PSD في C#.
// يوضح مثال الكود هذا كيفية إنشاء طبقات جديدة في ملف صورة PSD.
string sourceFileName = @"C:\Files\PSD\OneLayer.psd";
string exportPath = @"C:\Files\PSD\OneLayerEdited.psd";
// قم بتحميل ملف PSD موجود
var im = (PsdImage)Image.Load(sourceFileName);
// تحضير صفيفتين int
var data1 = new int[2500];
var data2 = new int[2500];
// حدد المستطيلات
var rect1 = new Rectangle(0, 0, 50, 50);
var rect2 = new Rectangle(0, 0, 100, 25);
for (int i = 0; i < 2500; i++)
{
data1[i] = -10000000;
data2[i] = -10000000;
}
// أضف طبقة 1
var layer1 = im.AddRegularLayer();
layer1.Left = 25;
layer1.Top = 25;
layer1.Right = 75;
layer1.Bottom = 75;
layer1.SaveArgb32Pixels(rect1, data1);
// أضف طبقة 2
var layer2 = im.AddRegularLayer();
layer2.Left = 25;
layer2.Top = 150;
layer2.Right = 125;
layer2.Bottom = 175;
layer2.SaveArgb32Pixels(rect2, data2);
// حفظ PSD
im.Save(exportPath, new PsdOptions());
أضف طبقة نص جديدة إلى PSD باستخدام C#
يمكننا إضافة طبقة نصية جديدة إلى ملف PSD باتباع الخطوات الواردة أدناه:
- أولاً ، قم بتحميل ملف PSD كـ PsdImage باستخدام فئة Image.
- بعد ذلك ، حدد المستطيل.
- ثم قم باستدعاء طريقة AddTexLayer().يأخذ إدخال النص وكائن مستطيل كوسائط.
- بعد ذلك ، اضبط موضع الطبقة مثل Top و Left و Right و Bottom.
- أخيرًا ، احفظ ملف الإخراج باستخدام طريقة Save().
يوضح نموذج التعليمات البرمجية التالي كيفية إضافة طبقة نص جديدة إلى ملف PSD في C#.
// يوضح مثال الكود هذا كيفية إنشاء طبقات جديدة في ملف صورة PSD.
string sourceFileName = @"C:\Files\PSD\OneLayer.psd";
string exportPath = @"C:\Files\PSD\TextLayer.psd";
// قم بتحميل ملف PSD موجود
var im = (PsdImage)Image.Load(sourceFileName);
// أضف طبقة نص
var layer1 = im.AddTextLayer("Hello", new Rectangle(0, 0, 120, 50));
layer1.Left = 10;
layer1.Top = 25;
// حفظ PSD
im.Save(exportPath, new PsdOptions());
إنشاء طبقة جديدة من الصورة في PSD باستخدام C#
يمكننا أيضًا إضافة طبقة جديدة من صورة PNG أو JPG إلى ملف PSD باتباع الخطوات الواردة أدناه:
- أولاً ، قم بتحميل ملف PSD كـ PsdImage باستخدام فئة Image.
- بعد ذلك ، افتح ملف صورة PNG في التدفق.
- ثم قم بإنشاء مثيل لفئة الطبقة مع كائن الدفق.
- بعد ذلك ، قم باستدعاء طريقة AddLayer().يأخذ كائن الطبقة كوسيطة.
- أخيرًا ، احفظ ملف الإخراج باستخدام طريقة Save().
يوضح نموذج التعليمات البرمجية التالي كيفية إضافة طبقة جديدة من صورة PNG إلى ملف PSD في C#.
// يوضح مثال الكود هذا كيفية إنشاء طبقة جديدة من صورة PNG في ملف صورة PSD.
string outputFilePath = @"C:\Files\PSD\PsdResult.psd";
// قم بإنشاء صورة PSD جديدة
var image = new PsdImage(200, 200);
// قم بتحميل صورة PNG
string filePath = @"C:\Files\PSD\aspose_logo.png";
var stream = new FileStream(filePath, FileMode.Open);
Layer layer = null;
try
{
// أضف طبقة إلى PSD
layer = new Layer(stream);
image.AddLayer(layer);
}
catch (Exception e)
{
if (layer != null)
{
layer.Dispose();
}
throw e;
}
// حفظ PSD
image.Save(outputFilePath);
احصل على رخصة مؤقتة مجانية
يمكنك الحصول على ترخيص مؤقت مجاني لتجربة Aspose.PSD لـ .NET بدون قيود تقييم.
استنتاج
في هذه المقالة ، تعلمنا كيفية:
- إنشاء صورة PSD جديدة ؛
- إنشاء طبقة عادية وطبقة نص جديدة في صورة PSD ؛
- أدخل صورة PNG أو JPG كطبقة جديدة في PSD باستخدام C#.
بالإضافة إلى ذلك ، يمكنك معرفة المزيد حول Aspose.PSD for .NET باستخدام التوثيق واستكشاف الميزات المختلفة التي تدعمها API. في حالة وجود أي غموض ، لا تتردد في الاتصال بنا على المنتدى.