Sorun Giderme Aspose.PSD FOSS for .NET
Aspose.PSD FOSS için .NET Sorun Giderme
Bu sayfa, Aspose.PSD FOSS for .NET ile PSD/PSB belgelerini yüklerken, incelerken ve kaydederken karşılaşılan en yaygın sorunları kapsar.
Yükleme Sorunları
PsdLoadException desteklenmeyen bir sürüm hakkında bir mesajla
Dosyanın bildirilen PSD sürüm alanı ne standart PSD ne de büyük belge PSB değeridir. Yüklemeden önce dosyanın gerçek, bozulmamış bir PSD/PSB belgesi olduğundan emin olun:
try
{
using var image = PsdImage.Load("input.psd");
}
catch (PsdLoadException ex)
{
Console.WriteLine($"Not a valid PSD/PSB file: {ex.Message}");
}PsdLoadException bir bölüm uzunluğunun sınırı aşması hakkında
Dosyanın iç uzunluk alanları gerçek boyutuyla tutarsızdır — bu genellikle dosyanın kesildiği veya bozulduğu anlamına gelir, desteklenmeyen ancak başka türlü geçerli bir yapı kullandığı anlamına gelmez. Dosyayı kaynak uygulamasından yeniden dışa aktarın ve tekrar deneyin.
Kaydetme Sorunları
PsdSaveException Pascal dizesi uzunluğu hakkında
Bir dize değeri — genellikle bir katman veya kaynak adı — 255 baytı aşıyor, bir PSD Pascal dize alanının kodlayabileceği azami değer:
layer.Name = layer.Name.Length > 255 ? layer.Name[..255] : layer.Name;
image.Save("output.psd");Düzenleme Sorunları
NotSupportedException bir özelliği ayarlarken
Bu FOSS sürümünde birkaç özellik salt okunurdur. PsdImage üzerinde: ActiveLayer, ImageResources, GlobalLayerResources, HasTransparencyData. Layer üzerinde: ChannelInformation, LayerMaskData, LayerBlendingRangesData. Bunları sadece alabileceğiniz (get-only) olarak kabul edin — onlara değer atamayın.
Katman opaklığı ayarlandıktan sonra hatalı görünüyor
Layer.Opacity, 0-255 aralığında bir byte olup, 0.0-1.0 kesir ya da yüzde değildir:
layer.Opacity = 200; // approximately 78% opaque, not 200%Katman kaldırma etkili olmuyor
PsdImage.Layers koleksiyon seviyesinde çalışan bir ayarlayıcıya sahiptir, ancak bireysel dizi öğeleri yerinde basitçe kaldırılamaz — tüm filtrelenmiş diziyi yeniden atayın:
image.Layers = image.Layers.Where(l => l.Name != "Unwanted Layer").ToArray();Kurulum Sorunları
Paket bulunamadı
Tam paket kimliğini onaylayın:
git clone https://github.com/aspose-psd-foss/Aspose.PSD-FOSS-for-.NET.git
cd Aspose.PSD-FOSS-for-.NET
dotnet buildTanı Kontrol Listesi
Destek talebi açmadan önce bu kontrol listesini gözden geçirin:
- Dosyanın gerçekten PSD/PSB olduğunu doğrulayın — a
PsdLoadExceptionDesteklenmeyen bir sürüm hakkında olması genellikle dosyanın gerçek bir PSD/PSB belge olmadığını gösterir. - Şunu kontrol edin
NotSupportedException— Yukarıda listelenen 7 salt okunur özelliğinden birini okuma yerine ayarlıyor olabilirsiniz. - Verify
Opacity0-255 aralığında olmalıdır, 0.0-1.0 ya da 0-100 değil. - Dize değerlerini 255 bayttan az tutun kaydetmeden önce, önlemek için
PsdSaveException. - Call
image.Saveher düzenlemeden sonra — bir …deki değişikliklerLayerörnek, belge kaydedilene kadar kalıcı olarak saklanmaz.