عیب‌یابی 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 درباره طول رشته پاسکال

یک مقدار رشته — که معمولاً نام لایه یا منبع است — بیش از ۲۵۵ بایت است، حداکثر مقداری که یک فیلد رشته پاسکال 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

چک‌لیست تشخیص

قبل از ایجاد یک درخواست پشتیبانی، این چک‌لیست را مرور کنید:

  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 نمونه‌ها تا زمانی که سند ذخیره شود، حفظ نمی‌شوند.

همچنین ببینید:

 فارسی