Sorun Giderme Aspose.PSD FOSS for .NET

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 build

Tanı Kontrol Listesi

Destek talebi açmadan önce bu kontrol listesini gözden geçirin:

  1. Dosyanın gerçekten PSD/PSB olduğunu doğrulayın — a PsdLoadException Desteklenmeyen bir sürüm hakkında olması genellikle dosyanın gerçek bir PSD/PSB belge olmadığını gösterir.
  2. Şunu kontrol edin NotSupportedException — Yukarıda listelenen 7 salt okunur özelliğinden birini okuma yerine ayarlıyor olabilirsiniz.
  3. Verify Opacity 0-255 aralığında olmalıdır, 0.0-1.0 ya da 0-100 değil.
  4. Dize değerlerini 255 bayttan az tutun kaydetmeden önce, önlemek için PsdSaveException.
  5. Call image.Save her düzenlemeden sonra — bir …deki değişiklikler Layer örnek, belge kaydedilene kadar kalıcı olarak saklanmaz.

Ayrıca Bakınız

 Türkçe