Resources

Resources

PsdImage טעון חושף את גושי משאבי התמונה שלו — רשומות בסגנון מטא-דטה כגון רשתות, קווים מנחים, וטעינות של פרופיל ICC — דרך שני תצוגות קריאה בלבד, בנוסף לסיכום נפרד לפאלטים צבעוניים ממופים.


רשימת גושי משאבים

PsdImage.image_resources מחזיר PreservedResourceBlock לכל משאב, כולל מזהה המשאב הגולמי, שם, וגודל בבתים:

from aspose_psd_foss.psdimage import PsdImage
from aspose_psd_foss.resources.imageresourceids import ImageResourceIds

image = PsdImage.load(input_path)

for block in image.image_resources:
    print(f"ID: {block.id}, name: {block.name!r}, size: {block.size} bytes")

PsdImage.resources מחזיר במקום זאת סיכום PsdResourceInfo נפרד לכל משאב, תוך הוספת סיווג kind — בבנייה זו של FOSS kind הוא תמיד PsdResourceKind.UNKNOWN, מכיוון שהמפענח של משאבים בבנייה זו אינו מפענח מזהי משאבים ספציפיים לתכונות סמנטיות.


זיהוי מזהי משאבים מוכרים

מאחר ש-kind אינו מפוענח סמנטית, יש לזהות משאב ספציפי על ידי השוואת block.id נגד הקבועים ב-ImageResourceIds:

for block in image.image_resources:
    if block.id == ImageResourceIds.ICC_PROFILE:
        print(f"Found an ICC profile resource ({block.data_size} bytes)")

קריאת פלטת צבעים ממוספרת

אם נתוני הצבע של המסמך מבוססי פלטה, PsdImage.indexed_palette מחזיר את הרשומות שלו:

palette = image.indexed_palette

if palette is not None:
    print(f"Palette entries: {len(palette.entries)}")

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

  • ה-getter של PsdImage.image_resources עובד להצגת רשימת משאבים, אך ה-setter שלו מעלה NotSupportedException — המשאבים הם קריאה-בלבד בבנייה זו של FOSS.
  • PsdImage.has_icc_profile, is_icc_profile_untagged ו-global_angle הם ערכי מציין-מקום קבועים בבנייה זו של FOSS (תמיד False, None ו-0 בהתאמה) ללא קשר לתוכן האמיתי של המסמך הטעון — השתמש בתבנית השוואת מזהה-משאב שהוצגה למעלה אם אתה צריך לזהות משאבים אלו בעצמך.
  • PreservedResourceBlock.save() מעלה NotImplementedError אם קוראים לו ישירות — המשאבים עוברים סיבוב אוטומטית כאשר אתה קורא ל-image.save() על כל המסמך.

בעיות נפוצות

בעיהסיבהתיקון
image.indexed_palette הוא Noneסוג נתוני הצבע של המסמך אינו INDEXED_PALETTEרק מסמכי צבע ממופים נושאים פלטה
NotSupportedException הגדרת image.image_resourcesה-setter אינו נתמך בבנייה זו של FOSSהתייחס ל-image_resources כקריאה בלבד
has_icc_profile / is_icc_profile_untagged / global_angle לעולם לא ישתנושלושת המאפיינים האלה קודקוד קבועים כחלופי מציין מיקום בבנייה של FOSSהשווה את block.id ל-ImageResourceIds במקום (ראה למעלה)

FAQ

מה ההבדל בין image_resources ל-resources?

שניהם מציגים את אותם בלוקי משאבים בסיסיים, אך כסוגי אובייקטים שונים: image_resources מחזיר אובייקטי PreservedResourceBlock (זיהוי/שם/גודל גולמי, משמש להעברה חוזרת), בעוד resources מחזיר סיכומי PsdResourceInfo (מוסיף סיווג kind, שבכרגע תמיד UNKNOWN).

האם אני יכול לשנות או להסיר משאב תמונה?

לא — המגדיר של image_resources זורק NotSupportedException, ו-PreservedResourceBlock.save() זורק NotImplementedError אם הוא נקרא ישירות. המשאבים הם לקריאה בלבד בבנייה הזו של קוד פתוח.


סיכום API Reference

מחלקה/מתודהתיאור
PsdImage.image_resourcesבלוקי משאבים גולמיים (PreservedResourceBlock, קריאה בלבד)
PsdImage.resourcesתקצירי משאבים (PsdResourceInfo, kind תמיד UNKNOWN)
PsdImage.indexed_paletteסיכום ערכת צבעים ממוספרת, כאשר קיים
ImageResourceIdsקבועי מזהה משאב ידועים להשוואה מול resource_id/id

ראה גם

 עברית