Cara Bekerja dengan Aspose.PSD FOSS Core API di .NET

Cara Bekerja dengan Aspose.PSD FOSS Core API di .NET

Aspose.PSD FOSS untuk .NET memuat dan memeriksa struktur dokumen PSD/PSB melalui PsdImage, sebuah subclass dari Image. Artikel ini mencakup memuat sebuah dokumen, membaca header dan sumber daya gambar, serta menyimpannya kembali ke disk.

Panduan Langkah demi Langkah

Langkah 1: Instal Paket

git clone https://github.com/aspose-psd-foss/Aspose.PSD-FOSS-for-.NET.git
cd Aspose.PSD-FOSS-for-.NET
dotnet build

Langkah 2: Impor Kelas yang Diperlukan

using Aspose.PSD.FileFormats.Psd;

Langkah 3: Muat Dokumen PSD/PSB

PsdImage.Load membuka dokumen dari jalur file atau aliran:

using var image = PsdImage.Load("input.psd");

Langkah 4: Periksa Header Dokumen

PsdImage menampilkan bidang header yang dibaca dari dokumen yang diurai: Width, Height, BitsPerChannel, ColorMode (nilai ColorModes), dan Compression (nilai CompressionMethod):

Console.WriteLine($"{image.Width}x{image.Height}, {image.BitsPerChannel} bpc");
Console.WriteLine($"Color mode: {image.ColorMode}");   // e.g. ColorModes.Rgb
Console.WriteLine($"Compression: {image.Compression}"); // e.g. CompressionMethod.RLE
Console.WriteLine($"Flattened: {image.IsFlatten}");

ColorModes nilai mencakup Bitmap, Grayscale, Indexed, Rgb, dan Cmyk, di antara lainnya (Multichannel, Duotone, Lab). Nilai CompressionMethod adalah Raw, RLE, ZipWithoutPrediction, dan varian ZIP-with-prediction.


Langkah 5: Baca Blok Sumber Daya Gambar

ImageResources mengembalikan entri ResourceBlock yang diurai dari dokumen. Setiap blok menampilkan ID, Name, dan Size:

foreach (var resource in image.ImageResources)
{
    Console.WriteLine($"Resource {resource.ID} \"{resource.Name}\" - {resource.Size} bytes");
}

ImageResources adalah read-only dalam build FOSS ini — penetapan padanya akan menyebabkan error NotSupportedException (lihat Known Limitations dalam FAQ).


Langkah 6: Simpan Dokumen

image.Save("output.psd");

Masalah Umum dan Perbaikan

PsdLoadException saat memuat file. Input tidak berupa dokumen PSD/PSB yang valid, atau header-nya gagal validasi. Pastikan file tersebut adalah file PSD/PSB yang asli sebelum memuat.

NotSupportedException saat mengatur ImageResources or GlobalLayerResources. Setter ini tidak didukung dalam build FOSS ini. Anggap ImageResources sebagai read-only.

ColorMode or Compression dicetak sebagai nilai numerik alih-alih nama. Lakukan casting properti ke tipe enum-nya secara eksplisit, atau gunakan .ToString(), untuk mendapatkan nama yang dapat dibaca (ColorModes.Rgb, tidak 3).

Pertanyaan yang Sering Diajukan

Apakah saya dapat memuat file PSD dari stream alih-alih jalur file?

Ya — PsdImage.Load memiliki overload yang menerima Stream.

Apakah ImageResources mencakup data lapisan?

Tidak. ImageResources menyimpan blok sumber daya tingkat dokumen (diparsing dari bagian sumber daya gambar PSD). Data tingkat lapisan dibaca melalui PsdImage.Layers — lihat Bekerja dengan Lapisan.

Apakah PsdImage.Version versi format file PSD?

Tidak. PsdImage.Version melaporkan nomor versi API internal yang kompatibel dengan Aspose.PSD (saat ini 6) — hal ini tidak terkait dengan apakah file yang dimuat adalah PSD atau PSB.

Lihat Juga

 Bahasa Indonesia