Pemecahan Masalah Aspose.PSD FOSS for .NET
Pemecahan Masalah Aspose.PSD FOSS untuk .NET
Halaman ini mencakup masalah paling umum yang ditemui saat memuat, memeriksa, dan menyimpan dokumen PSD/PSB dengan Aspose.PSD FOSS untuk .NET.
Masalah Memuat
PsdLoadException dengan pesan tentang versi yang tidak didukung
Bidang versi PSD yang dinyatakan dalam file bukanlah nilai PSD standar maupun nilai PSB dokumen besar. Pastikan file tersebut merupakan dokumen PSD/PSB yang asli dan tidak rusak sebelum memuat:
try
{
using var image = PsdImage.Load("input.psd");
}
catch (PsdLoadException ex)
{
Console.WriteLine($"Not a valid PSD/PSB file: {ex.Message}");
}PsdLoadException tentang panjang bagian yang melebihi batas
Bidang panjang internal file tidak konsisten dengan ukuran sebenarnya — biasanya ini berarti file terpotong atau rusak, bukan karena menggunakan struktur yang tidak didukung namun valid. Ekspor ulang file dari aplikasi sumbernya dan coba lagi.
Masalah Penyimpanan
PsdSaveException tentang panjang string Pascal
Nilai string — paling umum nama lapisan atau sumber daya — melebihi 255 byte, maksimum yang dapat dikodekan oleh bidang string Pascal PSD:
layer.Name = layer.Name.Length > 255 ? layer.Name[..255] : layer.Name;
image.Save("output.psd");Masalah Pengeditan
NotSupportedException saat mengatur properti
Beberapa properti bersifat read-only dalam build FOSS ini. Pada PsdImage: ActiveLayer, ImageResources, GlobalLayerResources, HasTransparencyData. Pada Layer: ChannelInformation, LayerMaskData, LayerBlendingRangesData. Anggap ini hanya get-only — jangan menetapkannya.
Opasitas lapisan tampak salah setelah mengaturnya
Layer.Opacity adalah byte dalam rentang 0-255, bukan pecahan 0.0-1.0 atau persentase:
layer.Opacity = 200; // approximately 78% opaque, not 200%Penghapusan lapisan tidak berpengaruh
PsdImage.Layers memiliki setter yang berfungsi pada tingkat koleksi, tetapi elemen array individu tidak dapat dihapus secara langsung — tetapkan kembali seluruh array yang sudah difilter:
image.Layers = image.Layers.Where(l => l.Name != "Unwanted Layer").ToArray();Masalah Instalasi
Paket tidak ditemukan
Konfirmasi identitas paket yang tepat:
git clone https://github.com/aspose-psd-foss/Aspose.PSD-FOSS-for-.NET.git
cd Aspose.PSD-FOSS-for-.NET
dotnet buildChecklist Diagnostik
Sebelum membuka tiket dukungan, jalankan checklist ini:
- Pastikan file tersebut benar-benar PSD/PSB — a
PsdLoadExceptiontentang versi yang tidak didukung biasanya berarti file tersebut bukan dokumen PSD/PSB yang sebenarnya. - Periksa
NotSupportedException— Anda mungkin sedang mengatur salah satu dari 7 properti hanya-baca yang tercantum di atas alih-alih membacanya. - Verify
Opacityadalah dalam rentang 0-255, bukan 0.0-1.0 atau 0-100. - Jaga nilai string tetap di bawah 255 byte sebelum menyimpan, untuk menghindari
PsdSaveException. - Call
image.Savesetelah setiap penyuntingan — perubahan pada sebuahLayerinstance tidak dipertahankan hingga dokumen disimpan.