Inti API

API Inti

PsdImage adalah titik masuk untuk memuat, memeriksa, dan menyimpan dokumen PSD/PSB. Ia memperluas kelas dasar abstrak Image, yang mendeklarasikan Width, Height, Bounds, Load(), Save(), dan Dispose().


Memuat dan Menyimpan Dokumen

Image.Load() menerima jalur file atau Stream dan mengembalikan Image; ubah tipe hasil ke PsdImage untuk mengakses sisa permukaan dokumen. PsdImage.Save() menulis dokumen kembali ke jalur file atau aliran.

using var image = (PsdImage)Image.Load(inputPath);
// ... inspect or edit ...
image.Save(outputPath);

Properti Header Dokumen

PsdImage mengekspos header yang telah diurai sebagai properti bertipe: Width, Height, BitsPerChannel, ColorMode, Version, Compression, Size, dan IsFlatten.

Console.WriteLine($"Width: {image.Width}, Height: {image.Height}");
Console.WriteLine($"ColorMode: {image.ColorMode}, Version: {image.Version}");
Console.WriteLine($"Compression: {image.Compression}, IsFlatten: {image.IsFlatten}");

Sumber Daya Gambar

PsdImage.ImageResources mengembalikan array ResourceBlock[] yang telah diurai. Dalam build FOSS ini, ImageResources, GlobalLayerResources, ActiveLayer, dan HasTransparencyData dapat dibaca tetapi tidak dapat ditetapkan kembali — setter mereka melempar NotSupportedException.

foreach (ResourceBlock resource in image.ImageResources)
{
    Console.WriteLine($"Resource {resource.ID}: {resource.Name} ({resource.DataSize} bytes)");
}

Tips dan Praktik Terbaik

  • Selalu lakukan cast pada hasil Image.Load() ke PsdImage untuk mengakses anggota khusus PSD.
  • Bungkus objek yang layak Dispose() dalam pernyataan using; PsdImage mengimplementasikan IDisposable.
  • Perlakukan ImageResources, GlobalLayerResources, ActiveLayer, dan HasTransparencyData sebagai read-only meskipun mereka menyediakan setter.
  • Periksa image.Layers.Length sebelum mengindeks ke image.Layers — dokumen yang diratakan mungkin tidak memiliki lapisan.

Masalah Umum

MasalahPenyebabPerbaikan
NotSupportedException saat mengatur ImageResourcesProperti ini bersifat read-only dalam build FOSS meskipun memiliki setterBaca nilai; jangan mencoba menetapkannya kembali
Array image.Layers kosong pada dokumen yang diratakanIsFlatten adalah true dan dokumen tidak memiliki lapisan yang diparsePeriksa image.Layers.Length (atau image.IsFlatten) sebelum mengindeks ke image.Layers

FAQ

Apakah memuat dokumen PSD mendekode data piksel?

Tidak. PsdImage.Load() mengurai header dokumen, metadata lapisan, dan sumber daya tanpa mendekode atau merender data piksel.

Apakah saya dapat mengonversi file PSD ke format gambar lain?

Tidak. Perpustakaan ini hanya memuat, memeriksa, dan menyimpan dokumen PSD/PSB — ia tidak merender data piksel atau mengonversi ke format gambar lain.


API Reference Ringkasan

Kelas/MetodeDeskripsi
Image.Load(string) / Image.Load(Stream)Memuat dokumen PSD atau PSB
PsdImage.Save(string) / PsdImage.Save(Stream)Menyimpan dokumen
PsdImage.Width / Height / BitsPerChannel / ColorMode / Version / Compression / Size / IsFlattenProperti header dokumen
PsdImage.ImageResourcesBlok sumber daya gambar yang diparse (hanya-baca)

Lihat Juga

 Bahasa Indonesia