ליבה API

ליבת API

PsdImage הוא נקודת הכניסה לטעינה, בחינה ושמירה של מסמכי PSD/PSB. הוא מרחיב את המחלקה הבסיסית האבסטרקטית Image, שמגדירה רק load() — שאר משטח המסמך (width, height, save(), תמיכה במנהל הקשר) מוגדר ב-PsdImage עצמו, ולא בירושה.


טעינה ושמירת מסמכים

Image.load() מקבל נתיב קובץ או זרם ומחזיר Image; עבור קלט PSD/PSB זה תמיד PsdImage, ולכן משטח המסמך זמין מיד ללא המרה מפורשת. PsdImage גם תומך בפקודת with לניקוי אוטומטי, ו-PsdImage.save() כותב את המסמך חזרה לקובץ או לזרם.

from aspose_psd_foss.psdimage import PsdImage

with PsdImage.load(input_path) as image:
    # ... inspect or edit ...
    image.save(output_path)

מאפייני כותרת המסמך

PsdImage מציג את הכותרת המפוענחת כמאפיינים מסוג: width, height, bits_per_channel, color_mode, version, compression, size, ו-is_flatten.

print(f"Width: {image.width}, Height: {image.height}")
print(f"ColorMode: {image.color_mode}, Version: {image.version}")
print(f"Compression: {image.compression}, IsFlatten: {image.is_flatten}")

משאבי תמונה

PsdImage.image_resources מחזיר את הרשימה המפוענחת של עצמים ResourceBlock. בבנייה זו של FOSS, ניתן לקרוא את image_resources, global_layer_resources, active_layer ו-has_transparency_data אך לא לשנות אותם — המגדירים שלהם מזריקים NotSupportedException.

for resource in image.image_resources:
    print(f"Resource {resource.id}: {resource.name} ({resource.data_size} bytes)")

טיפים ושיטות מומלצות

  • Image.load() כבר מחזיר PsdImage עבור קלט PSD/PSB — אין צורך בהמרה, בניגוד לחלק מהגרסאות של הספרייה לשפות אחרות.
  • השתמש בפקודת with; PsdImage תומכת בפרוטוקול מנהל ההקשר לניקוי.
  • התייחס ל-image_resources, global_layer_resources, active_layer ו-has_transparency_data כאל קריאה בלבד למרות שהם חושפים setter.
  • בדוק את image.layer_count לפני גישה ל-image.layers — מסמך משטוח עשוי להכיל אפס שכבות.

בעיות נפוצות

בעיהסיבהתיקון
NotSupportedException כאשר מגדירים image_resourcesהמאפיין הזה הוא קריאה בלבד בבנייה של FOSS למרות שיש לו setterקראו את הערך; אל תנסו לשייך לו מחדש
רשימת image.layers ריקה במסמך משטחis_flatten הוא True והמסמך אינו מכיל שכבות מפוענחותבדוק את image.layer_count (או image.is_flatten) לפני אינדוקס ל-image.layers

FAQ

האם טעינת מסמך PSD מפענחת נתוני פיקסלים?

לא. PsdImage.load() מפענח את כותרת המסמך, מטא-נתוני השכבה, והמשאבים מבלי לפענח או להציג נתוני פיקסלים.

האם אני יכול להמיר קובץ PSD לפורמט תמונה אחר?

לא. ספרייה זו טוענת, בודקת ושומרת רק מסמכי PSD/PSB — היא אינה מציגה נתוני פיקסלים או ממירה לפורמטים אחרים של תמונות.


API Reference סיכום

מחלקה/מתודהתיאור
Image.load(path) / Image.load(stream)טוען מסמך PSD או PSB
PsdImage.save(path) / PsdImage.save(stream)שומר את המסמך
PsdImage.width / height / bits_per_channel / color_mode / version / compression / size / is_flattenמאפייני כותרת המסמך
PsdImage.image_resourcesבלוקי משאבי תמונה שפורשו (קריאה בלבד)

ראה גם

 עברית