פתרון בעיות 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 בעת קביעת נכס
כמה נכסים הם לקריאה בלבד בבנייה הזו של FOSS. ב-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 מכיל 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המופעים אינם נשמרים עד שהמסמך נשמר.