פתרון בעיות 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 בעת קביעת נכס

כמה נכסים הם לקריאה בלבד בבנייה הזו של 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

רשימת בדיקה אבחונית

לפני פתיחת פנייה לתמיכה, עבור על רשימת הבדיקה הזו:

  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 המופעים אינם נשמרים עד שהמסמך נשמר.

ראה גם

 עברית