Tambahkan lapisan isian di photoshop

Foto adalah cara yang sangat berguna untuk mencerminkan informasi. File format PSD digunakan untuk membuat gambar. Namun, mungkin ada skenario seperti mengedit beberapa file Photoshop di baris yang sama. Misalnya, aplikasi pengolah foto mungkin perlu menambahkan lapisan di beberapa dokumen Photoshop, bersamaan dengan operasi lainnya. Aspose.PSD for .NET API menawarkan banyak fitur untuk bekerja dengan PSD, PSB, AI, dan banyak format file lainnya. Mari kita jelajahi kasus penggunaan berikut yang terkait dengan penambahan lapisan dalam file PSD:

Tambahkan Fill Layer saat Runtime di Dokumen Photoshop menggunakan C#

Aspose.PSD for .NET API mendukung pembuatan lapisan isian dalam file PSD. Anda tidak perlu memuat layer dari file yang sudah ada. Cukup ikuti langkah-langkah di bawah ini untuk menambahkan lapisan isian saat runtime di file PSD:

  1. Inisialisasi instance kelas PsdImage dengan dimensi halaman
  2. Buat instance dari kelas FillLayer.
  3. Tetapkan Nama Tampilan untuk layer
  4. Tambahkan layer ke gambar

Cuplikan kode berikut menunjukkan cara menambahkan layer isian di Photoshop menggunakan 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);
}

Cuplikan kode ini akan menghasilkan file PSD dengan dimensi tertentu di mana tangkapan layar di bawah ini menunjukkan nama tiga lapisan isian persis seperti yang ditetapkan oleh kode C# di atas:

Tambahkan Lapisan di Photoshop

Tambahkan Lapisan Isi yang Ada di file PSD menggunakan C

Kami telah belajar tentang membuat dan menambahkan layer isian baru. Mari kita lihat cara menambahkan layer dari file Photoshop yang ada. Berikut adalah kemungkinan untuk menambahkan layer isian yang ada:

i) Tambahkan Fill Layer dengan Pattern Fill menggunakan C#

Isian pola mungkin memiliki gambar, garis, atau bayangan untuk mengisi area. Anda harus mengikuti langkah-langkah di bawah ini untuk menambahkan layer dengan Patten Fill pada gambar PSD:

  1. Muat file PSD sumber
  2. Ulangi semua lapisan dan periksa FillLayer
  3. Tetapkan pengaturan yang berbeda untuk lapisan tersebut
  4. Edit Lapisan Isi
  5. Simpan gambar

Cuplikan kode di bawah ini menunjukkan cara menambahkan layer isian dengan isian Pola menggunakan C#:

// Tambahkan dukungan Fill layers: Pattern
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");
            }
            // Mengedit 
            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);
}

ii) Tambahkan Fill Layer dengan Gradient Fill menggunakan C#

Anda juga dapat menggunakan Gradient fill untuk mengisi layer di Dokumen Photoshop. Aspose.PSD for .NET API mendukung jenis pengisian Gradien berikut:

  • Linier
  • berlian
  • Radial
  • Terpantul
  • Sudut

Di bawah ini adalah langkah-langkah untuk menambahkan layer dengan gradient fill:

Cuplikan kode di bawah ini didasarkan pada langkah-langkah ini dan menunjukkan cara menambahkan layer GradientFill di dokumen Photoshop menggunakan 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 });
    }
}

Cuplikan kode ini akan menghasilkan lima file berbeda, masing-masing dengan jenis Gradient yang berbeda mengisi lapisan file PSD.

iii) Tambahkan Fill Layer dengan Color Fill menggunakan C#

Anda dapat menambahkan layer dengan Color fill di Photoshop Document, sebuah file PSD. Ikuti langkah-langkah di bawah ini untuk menambahkan atau membuat Fill Layer dengan Color Fill:

  1. Muat gambar PSD sumber
  2. Periksa semua layer dan temukan FillLayer
  3. Baca pengaturan pengisian layer
  4. Atur warna isian dan perbarui layer
  5. Simpan gambar PSD

Cuplikan kode di bawah ini didasarkan pada langkah-langkah yang menunjukkan cara menambahkan layer isian di Dokumen Photoshop menggunakan C#:

// Untuk contoh lengkap dan file data, silakan buka 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;
        }
    }
}

Kesimpulan

Pada artikel ini, Anda telah menjelajahi beberapa dari banyak kemungkinan untuk menambahkan lapisan isian di file PSD. Anda telah mempelajari cara menambahkan lapisan dari awal, serta cara menambahkan lapisan dari file PSD yang ada. Berbagai jenis lapisan pengisi Gradient juga dibahas bersama dengan contoh. Ada banyak fitur menarik lainnya yang ditawarkan oleh Aspose.PSD for .NET API. Jangan ragu untuk menghubungi kami melalui Forum Dukungan Gratis jika ada masalah.

Lihat juga