Pada artikel ini, Anda akan mempelajari cara menemukan layer dan memperbarui teks atau gambar layer di dalam file PSD Photoshop secara dinamis menggunakan C# .NET.

PSD adalah format default yang digunakan oleh Adobe Photoshop untuk menyimpan dokumennya dalam struktur berlapis-lapis di mana setiap lapisan berisi teks, gambar, objek grafis, dan elemen pendukung lainnya. Mungkin ada kasus ketika Anda memiliki template PSD dan Anda perlu membuat beberapa gambar yang dihasilkan dengan mengisi lapisan teks dan gambar di dalam template. Contoh dari skenario tersebut adalah membuat kartu karyawan dalam suatu organisasi. Untuk mengotomatiskan proses ini, saya akan menunjukkan cara:

Perpustakaan C# untuk Menemukan dan Memperbarui Lapisan PSD

Aspose.PSD for .NET memungkinkan pembuatan dan modifikasi file PSD tanpa menginstal Adobe Photoshop atau Illustrator. API dapat berguna dalam skenario di mana Anda perlu memperbarui lapisan PSD secara dinamis menggunakan C# atau VB.NET. Anda dapat menginstal API menggunakan NuGet Package Manager atau mengunduh dan mereferensikan DLLs secara manual.

Temukan dan Perbarui Lapisan Teks di File PSD menggunakan C#

Aspose.PSD for .NET memungkinkan Anda menemukan lapisan yang diinginkan dalam file PSD menggunakan nama lapisan. Setelah Anda menemukan lapisannya, Anda dapat memperbarui kontennya. Berikut adalah langkah-langkah untuk menemukan dan memperbarui lapisan teks dalam file PSD.

Contoh kode berikut menunjukkan cara menemukan dan memperbarui lapisan teks di file PSD menggunakan C#.

// Muat file PSD
using (PsdImage image = (PsdImage)Image.Load(@"template.psd"))
{
	// Temukan Layer menggunakan nama layer
	var layerToUpdateText = (TextLayer)FindLayer("Name", image);
	// Cara sederhana untuk memperbarui teks
	layerToUpdateText.UpdateText("John Doe");
	// Simpan file PSD yang diperbarui
	image.Save("updated-psd.psd");
}
//-------------------FindLayer()-------------
public static Layer FindLayer(string layerName, PsdImage image)
{
	// Dapatkan lapisan aa dalam file PSD
	var layers = image.Layers;
	// Temukan lapisan yang diinginkan
	foreach (var layer in layers)
	{
		// Cocokkan nama layer
		if (string.Equals(layer.DisplayName, layerName, StringComparison.InvariantCultureIgnoreCase))
		{
			return layer;
		}
	}
	return null;
}

Di bawah ini adalah tangkapan layar dari file input PSD yang kami gunakan dalam contoh ini:

Temukan layer di PSD menggunakan C#

Berikut ini adalah file PSD yang dihasilkan memiliki lapisan teks yang diperbarui:

Perbarui lapisan teks di PSD menggunakan C#

Temukan dan Perbarui Lapisan Gambar di File PSD menggunakan C#

Untuk menangani objek grafis seperti gambar, Aspose.PSD for .NET menampilkan kelas Graphics. Kelas ini digunakan untuk menghapus atau menggambar grafik di dalam lapisan PSD. Berikut adalah langkah-langkah untuk menemukan lapisan PSD dan memperbarui gambarnya.

Contoh kode berikut menunjukkan cara menemukan dan memperbarui lapisan gambar di file PSD menggunakan C#.

// Muat file PSD
using (PsdImage image = (PsdImage)Image.Load(@"updated-psd.psd"))
{
	// Mari kita cari layer yang ingin kita ganti
	var layerToReplace = FindLayer("ProfilePicture", image);

	using (Stream stream = new FileStream(@"avatar.png", FileMode.Open))
	{
		var newLayer = new Layer(stream);
		// Menggambar layer baru di atas yang lama
		var graphic = new Graphics(layerToReplace);
		graphic.Clear(Color.Empty);
		graphic.DrawImage(newLayer, new Rectangle(new Point(), new Size(layerToReplace.Width, layerToReplace.Height)));
	}
	// Simpan file PSD yang diperbarui
	image.Save("updated-psd2.psd");
}
//-------------------FindLayer()-------------
public static Layer FindLayer(string layerName, PsdImage image)
{
	// Dapatkan lapisan aa dalam file PSD
	var layers = image.Layers;
	// Temukan lapisan yang diinginkan
	foreach (var layer in layers)
	{
		// Cocokkan nama layer
		if (string.Equals(layer.DisplayName, layerName, StringComparison.InvariantCultureIgnoreCase))
		{
			return layer;
		}
	}
	return null;
}

Berikut adalah tangkapan layar file PSD setelah memperbarui lapisan gambar menggunakan kode yang disebutkan di atas:

Perbarui lapisan gambar di PSD menggunakan C#

Kesimpulan

Pada artikel ini, kita telah melihat cara menemukan dan memperbarui lapisan dalam file Photoshop (PSD) menggunakan C#. Panduan langkah demi langkah dan contoh kode menunjukkan cara menemukan lapisan dan memperbarui teks atau gambarnya di file Photoshop PSD. Anda dapat mempelajari lebih lanjut tentang Aspose.PSD for .NET menggunakan dokumentasi.

Lihat juga