استكشاف الأخطاء وإصلاحها Aspose.PSD FOSS for .NET

استكشاف الأخطاء وإصلاحها Aspose.PSD FOSS for .NET

استكشاف الأخطاء وإصلاحها Aspose.PSD FOSS لـ .NET

تغطي هذه الصفحة أكثر المشكلات شيوعًا التي تُواجه عند تحميل وفحص وحفظ مستندات PSD/PSB باستخدام Aspose.PSD FOSS لـ .NET.


مشكلات التحميل

PsdLoadException مع رسالة حول نسخة غير مدعومة

حقل نسخة PSD المعلن في الملف ليس ولا النسخة القياسية PSD ولا قيمة PSB للوثائق الكبيرة. تأكد من أن الملف مستند PSD/PSB أصلي غير تالف قبل التحميل:

try
{
    using var image = PsdImage.Load("input.psd");
}
catch (PsdLoadException ex)
{
    Console.WriteLine($"Not a valid PSD/PSB file: {ex.Message}");
}

PsdLoadException حول طول قسم يتجاوز الحد

حقول الطول الداخلية للملف غير متسقة مع حجمه الفعلي — وهذا عادةً يعني أن الملف مقطّع أو تالف، وليس أنه يستخدم بنية غير مدعومة ولكنها صالحة. أعد تصدير الملف من التطبيق المصدر وأعد المحاولة.


مشكلات الحفظ

PsdSaveException حول طول سلسلة باسكال

قيمة السلسلة — غالبًا ما تكون اسم طبقة أو مورد — تتجاوز 255 بايت، الحد الأقصى الذي يمكن لحقل سلسلة باسكال في PSD تشفيره:

layer.Name = layer.Name.Length > 255 ? layer.Name[..255] : layer.Name;
image.Save("output.psd");

مشكلات التحرير

NotSupportedException عند تعيين خاصية

بعض الخصائص للقراءة فقط في هذا البناء المفتوح المصدر. على PsdImage: ActiveLayer, ImageResources, GlobalLayerResources, HasTransparencyData. على Layer: ChannelInformation, LayerMaskData, LayerBlendingRangesData. اعتبرها للقراءة فقط — لا تقم بتعيين قيم لها.

تبدو شفافية الطبقة غير صحيحة بعد ضبطها

Layer.Opacity هو byte في النطاق 0-255، وليس كسرًا من 0.0-1.0 أو نسبة مئوية:

layer.Opacity = 200; // approximately 78% opaque, not 200%

إزالة الطبقة لا تُحدث أي تأثير

PsdImage.Layers يحتوي على مُعيّن يعمل على مستوى المجموعة، لكن لا يمكن إزالة عناصر المصفوفة الفردية ببساطة في مكانها — أعد تعيين المصفوفة المُفلترة بالكامل:

image.Layers = image.Layers.Where(l => l.Name != "Unwanted Layer").ToArray();

مشكلات التثبيت

الحزمة غير موجودة

أكد هوية الحزمة بدقة:

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

قائمة التحقق التشخيصية

قبل فتح قضية دعم، راجع هذه القائمة:

  1. تأكد من أن الملف هو فعلاً PSD/PSB — a PsdLoadException عن إصدار غير مدعوم عادةً ما يعني أن الملف ليس مستند PSD/PSB حقيقيًا.
  2. تحقق من NotSupportedException — قد تكون تقوم بتعيين إحدى الخصائص السبع للقراءة فقط المذكورة أعلاه بدلاً من قراءتها.
  3. Verify Opacity في النطاق 0-255, ليس 0.0-1.0 أو 0-100.
  4. احتفظ بقيم السلاسل أقل من 255 بايت قبل الحفظ، لتجنب PsdSaveException.
  5. Call image.Save بعد كل تعديل — تغييرات على Layer الكائن لا يتم حفظه حتى يتم حفظ المستند.

انظر أيضاً

 العربية