عیبیابی 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 درباره طول رشته پاسکال
یک مقدار رشته — که معمولاً نام لایه یا منبع است — بیش از ۲۵۵ بایت است، حداکثر مقداری که یک فیلد رشته پاسکال PSD میتواند رمزگذاری کند:
layer.Name = layer.Name.Length > 255 ? layer.Name[..255] : layer.Name;
image.Save("output.psd");مشکلات ویرایش
NotSupportedException هنگام تنظیم یک ویژگی
چندین ویژگی در این ساختار FOSS فقط-خواندنی هستند. در PsdImage: ActiveLayer، ImageResources، GlobalLayerResources، HasTransparencyData. در Layer: ChannelInformation، LayerMaskData، LayerBlendingRangesData. اینها را بهعنوان فقط-دسترس-به-دست (get-only) در نظر بگیرید — به آنها مقدار اختصاص ندهید.
شفافیت لایه پس از تنظیم آن بهنظر نادرست میآید
Layer.Opacity یک byte در بازه ۰-۲۵۵ است، نه یک کسر ۰٫۰-۱٫۰ یا درصد:
layer.Opacity = 200; // approximately 78% opaque, not 200%حذف لایه اعمال نمیشود
PsdImage.Layers یک setter کارآمد در سطح مجموعه دارد، اما عناصر منفرد آرایه نمیتوانند به سادگی درجا حذف شوند — کل آرایه فیلتر شده را دوباره اختصاص دهید:
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نمونهها تا زمانی که سند ذخیره شود، حفظ نمیشوند.