أضف طبقة تعبئة في الفوتوشوب

الصور هي وسيلة مفيدة للغاية لعكس المعلومات. PSD تُستخدم ملفات التنسيق لإنشاء الصور. ومع ذلك ، قد تكون هناك سيناريوهات مثل تحرير العديد من ملفات Photoshop على نفس المنوال. على سبيل المثال ، قد يحتاج تطبيق معالجة الصور إلى إضافة طبقة في مستندات Photoshop متعددة ، إلى جانب عمليات أخرى. Aspose.PSD for .NET تقدم API العديد من الميزات للعمل مع PSD و PSB و AI والعديد من تنسيقات الملفات الأخرى. دعنا نستكشف حالات الاستخدام التالية المتعلقة بإضافة طبقة في ملفات PSD:

أضف Fill Layer في وقت التشغيل في Photoshop Document باستخدام C#

Aspose.PSD for .NET API يدعم إنشاء طبقة تعبئة في ملف PSD. لا تحتاج بالضرورة إلى تحميل الطبقة من ملف موجود. ما عليك سوى اتباع الخطوات التالية لإضافة طبقة تعبئة في وقت التشغيل في ملف PSD:

  1. تهيئة مثيل لفئة PsdImage بأبعاد الصفحة
  2. قم بإنشاء مثيل لفئة FillLayer
  3. تعيين اسم العرض للطبقة
  4. أضف الطبقة إلى الصورة

يوضح مقتطف التعليمات البرمجية التالي كيفية إضافة طبقة تعبئة في Photoshop باستخدام C#:

string outputFilePath = Path.Combine(dataDir, "output.psd");

using (var image = new PsdImage(100, 100))
{
    FillLayer colorFillLayer = FillLayer.CreateInstance(Aspose.PSD.FileFormats.Psd.Layers.FillSettings.FillType.Color);
    colorFillLayer.DisplayName = "Color Fill Layer";
    image.AddLayer(colorFillLayer);

    FillLayer gradientFillLayer = FillLayer.CreateInstance(Aspose.PSD.FileFormats.Psd.Layers.FillSettings.FillType.Gradient);
    gradientFillLayer.DisplayName = "Gradient Fill Layer";
    image.AddLayer(gradientFillLayer);

    FillLayer patternFillLayer = FillLayer.CreateInstance(Aspose.PSD.FileFormats.Psd.Layers.FillSettings.FillType.Pattern);
    patternFillLayer.DisplayName = "Pattern Fill Layer";
    patternFillLayer.Opacity = 50;
    image.AddLayer(patternFillLayer);

    image.Save(outputFilePath);
}

سينشئ مقتطف الشفرة هذا ملف PSD بأبعاد محددة حيث تعرض لقطة الشاشة أدناه أسماء ثلاث طبقات تعبئة تمامًا كما تم تعيينها بواسطة كود C# أعلاه:

أضف طبقة في Photoshop

إضافة طبقة تعبئة موجودة في ملف PSD باستخدام C#

لقد تعلمنا بالفعل حول إنشاء وإضافة طبقات تعبئة جديدة. دعونا نتحقق من كيفية إضافة طبقة من ملف Photoshop موجود. فيما يلي احتمالات إضافة طبقات تعبئة موجودة:

ط) إضافة طبقة تعبئة مع تعبئة النقش باستخدام C#

قد تحتوي تعبئة النقش على صورة أو خط أو ظل لملء المنطقة. تحتاج إلى اتباع الخطوات أدناه لإضافة طبقة باستخدام Patten Fill في صورة PSD:

  1. تحميل ملف PSD المصدر
  2. كرر عبر كل الطبقات وتحقق من FillLayer
  3. اضبط إعدادات مختلفة للطبقة
  4. قم بتحرير طبقة التعبئة
  5. احفظ الصورة

يوضح مقتطف الشفرة أدناه كيفية إضافة طبقة تعبئة باستخدام تعبئة النقش باستخدام C#:

// أضف دعمًا لطبقات التعبئة: نمط
string sourceFileName = dataDir + "PatternFillLayer.psd";
string exportPath = dataDir + "PatternFillLayer_Edited.psd";
double tolerance = 0.0001;
var im = (PsdImage)Image.Load(sourceFileName);
using (im)
{
    foreach (var layer in im.Layers)
    {
        if (layer is FillLayer)
        {
            FillLayer fillLayer = (FillLayer)layer;
            PatternFillSettings fillSettings = (PatternFillSettings)fillLayer.FillSettings;
            if (fillSettings.HorizontalOffset != -46 ||
                fillSettings.VerticalOffset != -45 ||
                fillSettings.PatternId != "a6818df2-7532-494e-9615-8fdd6b7f38e5" ||
                fillSettings.PatternName != "$$$/Presets/Patterns/OpticalSquares=Optical Squares" ||
                fillSettings.AlignWithLayer != true ||
                fillSettings.Linked != true ||
                fillSettings.PatternHeight != 64 ||
                fillSettings.PatternWidth != 64 ||
                fillSettings.PatternData.Length != 4096 ||
                Math.Abs(fillSettings.Scale - 50) > tolerance)
            {
                throw new Exception("PSD Image was read wrong");
            }
            // التحرير 
            fillSettings.Scale = 300;
            fillSettings.HorizontalOffset = 2;
            fillSettings.VerticalOffset = -20;
            fillSettings.PatternData = new int[]
            {
           Color.Red.ToArgb(), Color.Blue.ToArgb(),  Color.Blue.ToArgb(),
           Color.Blue.ToArgb(), Color.Red.ToArgb(),  Color.Blue.ToArgb(),
           Color.Blue.ToArgb(), Color.Blue.ToArgb(),  Color.Red.ToArgb()
            };
            fillSettings.PatternHeight = 3;
            fillSettings.PatternWidth = 3;
            fillSettings.AlignWithLayer = false;
            fillSettings.Linked = false;
            fillSettings.PatternId = Guid.NewGuid().ToString();
            fillLayer.Update();
            break;
        }
    }
    im.Save(exportPath);
}

ب) إضافة طبقة تعبئة مع تعبئة متدرجة باستخدام C#

يمكنك أيضًا استخدام تعبئة متدرجة لملء طبقة في Photoshop Document. يدعم Aspose.PSD for .NET API الأنواع التالية من تعبئة التدرج:

  • خطي
  • الماس
  • شعاعي
  • ينعكس
  • زاوية

فيما يلي خطوات إضافة طبقة بتعبئة متدرجة:

يعتمد مقتطف الشفرة أدناه على هذه الخطوات ويوضح كيفية إضافة طبقة GradientFill في مستند Photoshop باستخدام C#:

string fileName = dataDir + "FillLayerGradient.psd";
GradientType[] gradientTypes = new[]
{
    GradientType.Linear, GradientType.Radial, GradientType.Angle, GradientType.Reflected, GradientType.Diamond
};
using (var image = Image.Load(fileName))
{
    PsdImage psdImage = (PsdImage)image;
    FillLayer fillLayer = (FillLayer)psdImage.Layers[0];
    GradientFillSettings fillSettings = (GradientFillSettings)fillLayer.FillSettings;
    foreach (var gradientType in gradientTypes)
    {
        fillSettings.GradientType = gradientType;
        fillLayer.Update();
        psdImage.Save(fileName + "_" + gradientType.ToString() + ".png", new PngOptions() { ColorType = PngColorType.TruecolorWithAlpha });
    }
}

سينشئ مقتطف الشفرة هذا خمسة ملفات مختلفة ، كل منها بنوع مختلف من تعبئة التدرج في طبقة ملف PSD.

iii) أضف طبقة تعبئة مع تعبئة اللون باستخدام C#

يمكنك إضافة طبقة باستخدام Color fill في Photoshop Document ، وهو ملف PSD. اتبع الخطوات أدناه لإضافة أو إنشاء طبقة تعبئة مع تعبئة اللون:

  1. تحميل صورة PSD المصدر
  2. تحقق من كل الطبقات وابحث عن FillLayer
  3. اقرأ إعدادات التعبئة الخاصة بالطبقة
  4. اضبط لون التعبئة وقم بتحديث الطبقة
  5. احفظ صورة PSD

يعتمد مقتطف الشفرة أدناه على الخطوات المذكورة أعلاه التي توضح كيفية إضافة طبقة تعبئة في مستند Photoshop باستخدام C#:

// للحصول على أمثلة وملفات بيانات كاملة ، يرجى الانتقال إلى https://github.com/aspose-psd/Aspose.PSD-for-.NET

string sourceFileName = dataDir + "ColorFillLayer.psd";
string exportPath = dataDir + "ColorFillLayer_output.psd";

var im = (PsdImage)Image.Load(sourceFileName);

using (im)
{
    foreach (var layer in im.Layers)
    {
        if (layer is FillLayer)
        {
            var fillLayer = (FillLayer)layer;

            if (fillLayer.FillSettings.FillType != FillType.Color)
            {
                throw new Exception("Wrong Fill Layer");
            }

            var settings = (IColorFillSettings)fillLayer.FillSettings;

            settings.Color = Color.Red;
            fillLayer.Update();
            im.Save(exportPath);
            break;
        }
    }
}

استنتاج

في هذه المقالة ، قمت باستكشاف بعض الاحتمالات العديدة لإضافة طبقة تعبئة في ملفات PSD. لقد تعلمت كيفية إضافة طبقة من البداية ، وكذلك كيفية إضافة طبقة من ملفات PSD الموجودة. يتم أيضًا تناول أنواع مختلفة من طبقات التعبئة المتدرجة جنبًا إلى جنب مع الأمثلة. هناك العديد من الميزات المثيرة الأخرى التي تقدمها Aspose.PSD for .NET API. لا تتردد في الاتصال بنا عبر منتديات الدعم المجاني في حالة وجود أي مخاوف.

أنظر أيضا