1. Produk
  2.   Aspose.PSD
  3.   Aspose.PSD FOSS for .NET

Aspose.PSD FOSS untuk .NET

Perpustakaan .NET sumber terbuka untuk memuat, memeriksa, dan menyimpan file PSD/PSB dengan akses metadata lapisan. Lisensi MIT, tidak memerlukan Adobe Photoshop.

Perpustakaan .NET Open-Source untuk File PSD/PSB

Aspose.PSD FOSS for .NET adalah perpustakaan C# murni yang gratis, berlisensi MIT, untuk memuat, memeriksa, dan menyimpan file Adobe Photoshop PSD dan PSB tanpa memerlukan Adobe Photoshop atau runtime proprietari apa pun. Ia mengekspos API ringan dan mandiri yang berpusat pada PsdImage dan Layer, memberikan pengembang .NET akses programatik ke struktur dokumen PSD tanpa ketergantungan native untuk dikompilasi. Perpustakaan ini membaca dimensi, mode warna, kedalaman bit, dan metode kompresi file PSD/PSB, serta mengekspos setiap lapisan melalui PsdImage.Layers: setiap Layer melaporkan namanya, batas, opasitas, visibilitas, dan kunci mode campuran (BlendMode), bersama dengan informasi saluran tingkat rendah (ChannelInformation) dan data masker (LayerMaskData). Sebagian subset metadata lapisan — nama, batas (Left/Top/Right/Bottom), dan mode campuran — dapat dimodifikasi secara langsung dan disimpan kembali ke disk dengan PsdImage.Save(); semua hal lainnya pada permukaan bersifat read-only secara sengaja dalam build FOSS ini. Aspose.PSD FOSS for .NET berlisensi MIT. Instal dengan dotnet add package Aspose.PSD.FOSS — perpustakaan ini tidak memiliki ketergantungan native pihak ketiga, hanya .NET BCL. Untuk keluarga produk enterprise, lihat Aspose.PSD — Enterprise Product Family.

Muat dan Periksa File PSD/PSB

  • Image.Load(filePath) atau Image.Load(stream) membuka sebuah file dan mengembalikan sebuah Image, yang kemudian di-cast menjadi PsdImage untuk akses khusus PSD
  • PsdImage.Width, Height, dan Size melaporkan dimensi kanvas
  • PsdImage.ColorMode (ColorModes), BitsPerChannel, dan Compression (CompressionMethod) menjelaskan bagaimana data piksel dikodekan
  • PsdImage.Version (PsdVersion) membedakan PSD standar dari varian dokumen besar PSB

Validasi dan Mengatalogkan File Desain

  • Validasi sekumpulan file desain sebelum menyerahkannya ke proses hilir
  • Buat katalog aset ringan dari dimensi dan mode warna PSD/PSB
  • Deteksi file PSB (dokumen-besar) yang memerlukan penanganan berbeda dibandingkan PSD standar

Bekerja dengan Lapisan

  • PsdImage.Layers mengembalikan setiap Layer dalam urutan dokumen; PsdImage.ActiveLayer melaporkan mana yang aktif
  • Setiap Layer menampilkan Name, Bounds, Opacity, IsVisible, dan BlendModeKey (BlendMode)
  • Layer.ChannelInformation dan Layer.LayerMaskData menampilkan metadata saluran dan mask untuk inspeksi yang lebih mendalam
  • Layer.ChannelsCount melaporkan berapa banyak saluran gambar yang dibawa oleh sebuah layer

Struktur Lapisan Audit

  • Audit struktur lapisan PSD tanpa membuka Photoshop
  • Hasilkan laporan nama lapisan, visibilitas, dan mode campuran untuk tinjauan desain
  • Identifikasi lapisan tersembunyi atau dengan opasitas nol yang tersisa dari edit sebelumnya

Sunting Metadata Lapisan Dasar

  • Layer.Name, Layer.Left/Top/Right/Bottom, dan Layer.BlendModeKey dapat diatur secara langsung
  • PsdImage.Save(filePath) atau PsdImage.Save(stream) menyimpan dokumen yang telah dimodifikasi kembali ke disk
  • Memuat ulang file yang disimpan dengan Image.Load mengonfirmasi bahwa penyuntingan berhasil dilakukan secara round-trip
  • Properti yang tidak disebutkan di atas (informasi saluran, data masker, rentang pencampuran, sumber daya gambar) akan memunculkan NotSupportedException jika diatur — build ini mendukung penyuntingan hanya metadata, bukan penulisan ulang lengkap

Edit Ringan, Dapat Diprogram

  • Mengganti nama lapisan secara programatis sebagai bagian dari pipeline pengorganisasian file otomatis
  • Memposisikan kembali atau mengubah ukuran kotak batas lapisan tanpa alat desain
  • Memperbarui mode campuran secara batch di banyak file untuk konsistensi

Periksa Blok Sumber Daya dan Status Dokumen

  • PsdImage.ImageResources dan GlobalLayerResources mengekspos koleksi ResourceBlock/LayerResource
  • PsdImage.GlobalLayerMaskInfo melaporkan info mask lapisan seluruh dokumen
  • PsdImage.IsFlatten dan HasTransparencyData melaporkan flag tingkat dokumen
  • PsdLoadException dan PsdSaveException menampilkan kesalahan muat/simpan dengan pesan yang jelas

Diagnosa dan Inspeksi

  • Diagnosa mengapa file PSD tertentu gagal dimuat, dengan pengecualian yang bertipe alih-alih kesalahan umum
  • Periksa apakah file disimpan dalam bentuk flatten sebelum diproses lebih lanjut
  • Periksa blok sumber daya tersemat untuk metadata tingkat format

Muat File PSD dan Periksa Lapisan-Lapisan-nya

Muat file dengan Image.Load dan cast hasilnya ke PsdImage untuk anggota khusus PSD.

using var image = (PsdImage)Image.Load("test.psd");
Console.WriteLine($"Width: {image.Width}, Channels: {image.ChannelsCount}, Layers: {image.Layers.Length}");
Layer layer = image.Layers[0];
Console.WriteLine($"Bounds: {layer.Bounds}, BlendMode: {layer.BlendModeKey}, Opacity: {layer.Opacity}, Visible: {layer.IsVisible}");

Edit Metadata Lapisan dan Simpan

Nama lapisan, batas, dan mode campuran dapat diubah secara langsung dan disimpan kembali ke disk.

using (var image = (PsdImage)Image.Load("test.psd"))
{
    image.Layers[0].Name = "Renamed layer";
    image.Layers[0].Left = 10;
    image.Layers[0].Top = 20;
    image.Layers[0].Right = 40;
    image.Layers[0].Bottom = 60;
    image.Layers[0].BlendModeKey = BlendMode.Multiply;
    image.Save("edited.psd");
}

using var reloaded = (PsdImage)Image.Load("edited.psd");
Console.WriteLine($"Name: {reloaded.Layers[0].Name}, BlendMode: {reloaded.Layers[0].BlendModeKey}");

Baca Informasi Saluran (Hanya Baca)

Informasi saluran dapat dibaca tetapi tidak dapat ditetapkan kembali — mencoba menetapkannya akan melempar NotSupportedException.

using var image = (PsdImage)Image.Load("test.psd");
Layer layer = image.Layers[0];
ChannelInformation[] channelInformation = layer.ChannelInformation;
Console.WriteLine($"Channel count: {layer.ChannelsCount}, First channel length: `NotSupportedException`");
// layer.ChannelInformation = channelInformation; // throws NotSupportedException

Pertanyaan yang Sering Diajukan

Apa model lisensinya?

Aspose.PSD FOSS for .NET berlisensi MIT. Anda dapat menggunakan, memodifikasi, dan mendistribusikannya kembali di bawah ketentuan lisensi MIT, termasuk dalam produk komersial.

Bagaimana cara saya menginstal Aspose.PSD FOSS for .NET?

Lihat bagian instalasi di atas untuk perintah instalasi saat ini.

Format apa yang dapat dibaca dan ditulis oleh Aspose.PSD FOSS for .NET?

It memuat dan menyimpan file PSD dan PSB (dokumen besar Photoshop). It tidak merender atau mengekspor data piksel ke format raster lain seperti PNG atau JPEG.

Apa kelas titik masuk utama?

PsdImage (sebuah subclass dari Image). Muat dokumen dengan PsdImage.Load, kemudian baca koleksi Layers-nya dan properti header.

Apakah saya dapat memodifikasi metadata lapisan?

Ya — Layer menyediakan setter yang berfungsi untuk beberapa properti, seperti visibilitas dan nama, dan PsdImage.Layers itu sendiri memiliki setter yang berfungsi untuk mengganti koleksi. Beberapa properti spesifik (informasi saluran, data masker, rentang pencampuran, dan beberapa sumber daya tingkat dokumen) bersifat read-only dalam build FOSS ini dan akan melempar NotSupportedException jika diatur.

  

Sumber Daya Dukungan dan Pembelajaran

 Bahasa Indonesia