1. מוצרים
  2.   Aspose.PSD
  3.   Aspose.PSD FOSS for .NET

Aspose.PSD FOSS עבור .NET

ספרייה בקוד פתוח של .NET לטעינה, בדיקה ושמירת קבצי PSD/PSB עם גישה למטא-נתוני שכבות. ברישיון MIT, ללא צורך ב-Adobe Photoshop.

ספרייה .NET בקוד פתוח עבור קבצי PSD/PSB

Aspose.PSD FOSS for .NET הוא ספרייה חינמית, ברישיון MIT, pure C# לטעינה, בדיקה, ולשמירת קבצי Adobe Photoshop PSD ו-PSB ללא צורך ב-Adobe Photoshop או בכל סביבת ריצה קניינית. היא חושפת API קלה, עצמאית, המתמקדת ב-PsdImage ו Layer, ומספקת למפתחים .NET גישה פרוגרמטית למבנה של מסמך PSD ללא תלותיות מקומיות לקימפול. הספרייה קוראת את ממדי קובץ ה-PSD/PSB, מצב הצבע, עומק הביטים, ושיטת הדחיסה והיא חושפת כל שכבה דרך PsdImage.Layers: כל Layer מדווחת על שמו, גבולות, שקיפות, נראות, ומפתח מצב הערבוב (BlendMode), יחד עם מידע ברמה נמוכה של מידע ערוץ (ChannelInformation) ונתוני מסיכת שכבה (LayerMaskData). תת-קבוצה של מטא-נתוני השכבות — שם, גבולות (Left/Top/Right/Bottom), ומצב הערבוב — ניתנים לשינוי במקום ולשמירה חזרה לדיסק באמצעות PsdImage.Save(); כל השאר על המשטח הוא קריאה-בלבד לפי העיצוב בבנייה הזאת של קוד פתוח. Aspose.PSD FOSS for .NET הוא ברישיון MIT. התקן אותו עם dotnet add package Aspose.PSD.FOSS — הספרייה אינה תלויה בתלות מקומית של צד שלישי תלויות, רק .NET BCL. למשפחת מוצרי הארגון, ראה Aspose.PSD — Enterprise Product Family.

טעינה ובדיקה של קבצי PSD/PSB

  • Image.Load(filePath) או Image.Load(stream) פותח קובץ ומחזיר Image, המומר ל-PsdImage לגישה ספציפית ל-PSD
  • PsdImage.Width, Height, ו-Size מדווחים על ממדי הקנבס
  • PsdImage.ColorMode (ColorModes), BitsPerChannel, ו-Compression (CompressionMethod) מתארים איך נתוני הפיקסלים מקודדים
  • PsdImage.Version (PsdVersion) מבחין בין PSD סטנדרטי לגרסת PSB של מסמך גדול

אימות וקטלוג קבצי עיצוב

  • לאמת אצווה של קבצי עיצוב לפני העברתם לתהליך משני
  • לבנות קטלוג נכסים קל משקל של ממדי PSD/PSB ומצבי צבע
  • לזהות קבצי PSB (מסמך-גדול) שדורשים טיפול שונה מ-PSD סטנדרטי

עבודה עם שכבות

  • PsdImage.Layers מחזירה את כל ה-Layer בסדר המסמך; PsdImage.ActiveLayer מדווחת איזו שכבה פעילה
  • כל Layer חושפת את Name, Bounds, Opacity, IsVisible, ו-BlendModeKey (BlendMode)
  • Layer.ChannelInformation ו-Layer.LayerMaskData חושפות מידע על ערוצים ומסיכות לצורך חקירה מעמיקה יותר
  • Layer.ChannelsCount מדווחת כמה ערוצי תמונה נושא השכבה.

מבנה שכבת ביקורת

  • לבדוק את מבנה השכבות של קובץ PSD ללא פתיחת Photoshop
  • ליצור דוח של שמות השכבות, נראות ומצבי מיזוג עבור סקירת עיצוב
  • לזהות שכבות מוסתרות או עם שקיפות אפס שנשארו משינויים קודמים

ערוך מטא-נתוני שכבה בסיסיים

  • Layer.Name, Layer.Left/Top/Right/Bottom, ו-Layer.BlendModeKey ניתן להגדיר ישירות
  • PsdImage.Save(filePath) או PsdImage.Save(stream) שומר את המסמך המותאם חזרה על הדיסק
  • טעינת קובץ שנשמר עם Image.Load מאמת שהעריכות מתבצעות במעגל שלם כראוי
  • מאפיינים שלא נרשמו למעלה (מידע ערוץ, נתוני מסכה, טווחי מיזוג, משאבי תמונה) גורמים ל-NotSupportedException אם מנסים להגדירם — גרסה זו תומכת בעריכות רק של מטה-נתונים, לא בכתיבה מחדש מלאה

עריכות קלות, ניתנות לתכנות

  • לשנות שם של שכבות בתכנות כחלק מצינור אוטומטי לארגון קבצים
  • למקם מחדש או לשנות את גודל תיבת הגבול של שכבה ללא כלי עיצוב
  • לעדכן במקובץ מצבי מיזוג במספר קבצים רבים למען עקביות

בדיקת בלוקי משאבים ומצב המסמך

  • PsdImage.ImageResources ו-GlobalLayerResources חושפים אוספי ResourceBlock/LayerResource
  • PsdImage.GlobalLayerMaskInfo מדווח מידע על מסכת שכבה ברמת המסמך
  • PsdImage.IsFlatten ו-HasTransparencyData מדווחים על דגלים ברמת המסמך
  • PsdLoadException ו-PsdSaveException מציגים שגיאות טעינה/שמירה עם הודעות ברורות

אבחון ובדיקה

  • לאבחן מדוע קובץ PSD מסוים נכשל בטעינה, עם יוצא מן הכלל מסוג ספציפי במקום שגיאה כללית
  • לבדוק האם קובץ נשמר בצורת שטוחה לפני המשך העיבוד
  • לבדוק בלוקי משאבים משובצים עבור מטא-נתונים ברמת הפורמט

טען קובץ PSD וחקור את השכבות שלו

טען קובץ באמצעות Image.Load והמר את התוצאה ל-PsdImage עבור חברים ספציפיים ל-PSD.

using var image = (PsdImage)Image.Load("test.psd");
Console.WriteLine($"Width: {image.Width}, Channels: {image.ChannelsCount}, Layers: {image.Layers.Length}");
Layer layer = image.Layers[0];
Console.WriteLine($"Bounds: {layer.Bounds}, BlendMode: {layer.BlendModeKey}, Opacity: {layer.Opacity}, Visible: {layer.IsVisible}");

ערוך מטא-נתוני שכבה ושמור

ניתן לשנות את שם השכבה, הגבולות ומצב המיזוג במקום ולשמור חזרה לדיסק.

using (var image = (PsdImage)Image.Load("test.psd"))
{
    image.Layers[0].Name = "Renamed layer";
    image.Layers[0].Left = 10;
    image.Layers[0].Top = 20;
    image.Layers[0].Right = 40;
    image.Layers[0].Bottom = 60;
    image.Layers[0].BlendModeKey = BlendMode.Multiply;
    image.Save("edited.psd");
}

using var reloaded = (PsdImage)Image.Load("edited.psd");
Console.WriteLine($"Name: {reloaded.Layers[0].Name}, BlendMode: {reloaded.Layers[0].BlendModeKey}");

קריאת מידע ערוץ (קריאה בלבד)

ניתן לקרוא מידע ערוץ אך לא ניתן להקצות מחדש — ניסיון להגדיר אותו גורם לזריקת NotSupportedException.

using var image = (PsdImage)Image.Load("test.psd");
Layer layer = image.Layers[0];
ChannelInformation[] channelInformation = layer.ChannelInformation;
Console.WriteLine($"Channel count: {layer.ChannelsCount}, First channel length: `NotSupportedException`");
// layer.ChannelInformation = channelInformation; // throws NotSupportedException

שאלות נפוצות

מהו מודל הרישוי?

Aspose.PSD FOSS for .NET מורשה תחת רישיון MIT. ניתן להשתמש, לשנות, ולהפיץ אותו בהתאם לתנאי רישיון MIT, כולל במוצרים מסחריים.

איך אני מתקין Aspose.PSD FOSS for .NET?

ראה את סעיף ההתקנה למעלה עבור פקודת ההתקנה הנוכחית.

אילו פורמטים יכול Aspose.PSD FOSS for .NET לקרוא ולכתוב?

הוא טוען ושומר קבצי PSD ו-PSB (מסמך גדול של Photoshop). הוא אינו מרנדר או מייצא נתוני פיקסלים לפורמטים רסטריים אחרים כגון PNG או JPEG.

מהי מחלקת נקודת הכניסה הראשית?

PsdImage (מחלקה משנה של Image). טען מסמך עם PsdImage.Load, ואז קרא את אוסף ה-Layers ואת מאפייני הכותרת.

האם אני יכול לשנות מטא-נתוני שכבה?

כן — Layer חושף setter עובד למספר מאפיינים, כגון נראות ושם, ו-PsdImage.Layers עצמו כולל setter עובד להחלפת האוסף. כמה מאפיינים ספציפיים (מידע ערוץ, נתוני מסכה, טווחי מיזוג, וחלק מהמשאבים ברמת המסמך) הם קריאה-בלבד בבנייה הזו של FOSS ומזרקים NotSupportedException אם מנסים להגדירם.

  

משאבי תמיכה ולמידה

 עברית