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.Image.Load(filePath) atau Image.Load(stream) membuka sebuah file dan mengembalikan sebuah Image, yang kemudian di-cast menjadi PsdImage untuk akses khusus PSDPsdImage.Width, Height, dan Size melaporkan dimensi kanvasPsdImage.ColorMode (ColorModes), BitsPerChannel, dan Compression (CompressionMethod) menjelaskan bagaimana data piksel dikodekanPsdImage.Version (PsdVersion) membedakan PSD standar dari varian dokumen besar PSBPsdImage.Layers mengembalikan setiap Layer dalam urutan dokumen; PsdImage.ActiveLayer melaporkan mana yang aktifLayer menampilkan Name, Bounds, Opacity, IsVisible, dan BlendModeKey (BlendMode)Layer.ChannelInformation dan Layer.LayerMaskData menampilkan metadata saluran dan mask untuk inspeksi yang lebih mendalamLayer.ChannelsCount melaporkan berapa banyak saluran gambar yang dibawa oleh sebuah layerLayer.Name, Layer.Left/Top/Right/Bottom, dan Layer.BlendModeKey dapat diatur secara langsungPsdImage.Save(filePath) atau PsdImage.Save(stream) menyimpan dokumen yang telah dimodifikasi kembali ke diskImage.Load mengonfirmasi bahwa penyuntingan berhasil dilakukan secara round-tripNotSupportedException jika diatur — build ini mendukung penyuntingan hanya metadata, bukan penulisan ulang lengkapPsdImage.ImageResources dan GlobalLayerResources mengekspos koleksi ResourceBlock/LayerResourcePsdImage.GlobalLayerMaskInfo melaporkan info mask lapisan seluruh dokumenPsdImage.IsFlatten dan HasTransparencyData melaporkan flag tingkat dokumenPsdLoadException dan PsdSaveException menampilkan kesalahan muat/simpan dengan pesan yang jelasMuat 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}");
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}");
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
Aspose.PSD FOSS for .NET berlisensi MIT. Anda dapat menggunakan, memodifikasi, dan mendistribusikannya kembali di bawah ketentuan lisensi MIT, termasuk dalam produk komersial.
Lihat bagian instalasi di atas untuk perintah instalasi saat ini.
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.
PsdImage (sebuah subclass dari Image). Muat dokumen dengan PsdImage.Load, kemudian baca koleksi Layers-nya dan properti header.
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.