استكشاف الأخطاء وإصلاحها 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قائمة التحقق التشخيصية
قبل فتح قضية دعم، راجع هذه القائمة:
- تأكد من أن الملف هو فعلاً PSD/PSB — a
PsdLoadExceptionعن إصدار غير مدعوم عادةً ما يعني أن الملف ليس مستند PSD/PSB حقيقيًا. - تحقق من
NotSupportedException— قد تكون تقوم بتعيين إحدى الخصائص السبع للقراءة فقط المذكورة أعلاه بدلاً من قراءتها. - Verify
Opacityفي النطاق 0-255, ليس 0.0-1.0 أو 0-100. - احتفظ بقيم السلاسل أقل من 255 بايت قبل الحفظ، لتجنب
PsdSaveException. - Call
image.Saveبعد كل تعديل — تغييرات علىLayerالكائن لا يتم حفظه حتى يتم حفظ المستند.