Pendahuluan
Aspose.PSD FOSS untuk .NET adalah perpustakaan open-source baru untuk bekerja dengan file PSD dan PSB (Photoshop large document) dari kode .NET. Perpustakaan ini dirilis di bawah lisensi MIT, memerlukan hanya .NET 10.0 pada runtime, dan tidak memiliki ketergantungan pihak ketiga lainnya. Paket diimpor dengan using Aspose.PSD.FOSS;.
Perpustakaan ini diatur di sekitar kelas PsdImage, yang memperluas kelas dasar abstrak Image, dan kelas Layer. Image.Load() / PsdImage.Load() memuat dokumen dari jalur file atau aliran, menampilkan informasi header (Width, Height, ColorMode, Version, Compression) dan koleksi Layers yang telah diurai; PsdImage.Save() menulis kembali dokumen ke file atau aliran. Setiap Layer menampilkan metadata-nya sendiri — Name, Bounds, IsVisible, Opacity, Clipping, BlendModeKey, dan informasi saluran/maske — dan sebagian dari properti ini dapat diubah secara langsung dan disimpan kembali ke file.
Rilis ini ditujukan untuk pengembang yang perlu memeriksa atau melakukan edit metadata terbatas pada file PSD/PSB dalam basis kode .NET tanpa lisensi komersial — alat asset-pipeline yang melaporkan struktur lapisan, skrip build yang mengganti nama atau mengubah visibilitas lapisan sebelum penyerahan, atau fixture pengujian yang perlu membaca header PSD dan data lapisan tanpa mesin rendering lengkap. Perpustakaan ini tidak merender data piksel atau mengonversi PSD/PSB ke format gambar lain — ia adalah pembaca/penulis yang berfokus pada metadata untuk format kontainer PSD/PSB.
Apa yang Disertakan
Inspeksi Dokumen
PsdImage.Load() mengurai header file PSD atau PSB menjadi properti bertipe — Width, Height, BitsPerChannel, ColorMode, Version, Compression, Size, dan IsFlatten — tanpa mendekode data piksel.
using var image = (PsdImage)Image.Load(inputPath);
Console.WriteLine($"Width: {image.Width}, Height: {image.Height}");
Console.WriteLine($"ColorMode: {image.ColorMode}, Version: {image.Version}");
Console.WriteLine($"Layers: {image.Layers.Length}, Compression: {image.Compression}");
Metadata Lapisan
Setiap entri dalam PsdImage.Layers adalah Layer yang menampilkan batasnya sendiri, visibilitas, opasitas, pemotongan, dan metadata mode campur.
foreach (var layer in image.Layers)
{
Console.WriteLine($"{layer.Name}: {layer.Bounds}, Visible={layer.IsVisible}, Opacity={layer.Opacity}");
}
Edit Metadata yang Didukung
Subset properti lapisan dapat diubah di tempat dan ditulis kembali dengan PsdImage.Save(): nama, visibilitas, opasitas, pemotongan, kunci mode campur, dan empat tepi batas.
Layer layer = image.Layers[0];
layer.Name = $"{layer.Name} (edited)";
layer.IsVisible = !layer.IsVisible;
layer.Opacity = 128;
layer.BlendModeKey = BlendMode.Multiply;
image.Save(outputPath);
Memulai Cepat
Instal paket, lalu muat file PSD atau PSB, periksa layer-nya, dan simpan kembali:
git clone https://github.com/aspose-psd-foss/Aspose.PSD-FOSS-for-.NET.git
cd Aspose.PSD-FOSS-for-.NET
dotnet buildusing Aspose.PSD.FileFormats.Psd;
using var image = (PsdImage)Image.Load("input.psd");
Console.WriteLine($"Width: {image.Width}, Height: {image.Height}, Layers: {image.Layers.Length}");
foreach (var layer in image.Layers)
{
Console.WriteLine($" {layer.Name}: {layer.Bounds}");
}
image.Save("output.psd");
Format yang Didukung
| Format | Ekstensi | Baca | Tulis |
|---|---|---|---|
| Dokumen Photoshop | psd | ✓ | ✓ |
| Dokumen Besar Photoshop | psb | ✓ | ✓ |
Sumber Terbuka & Lisensi
Aspose.PSD FOSS untuk .NET berlisensi MIT dan dapat digunakan dalam produk komersial tanpa royalti, tanpa watermark evaluasi atau batas penggunaan.
Paket ini berada pada versi 1.0.0 dan hanya memerlukan .NET 10.0 saat runtime — tidak memiliki dependensi pihak ketiga lainnya.