Sections

Sections

یک PsdImage بارگذاری‌شده، اشیاء خلاصهٔ فقط-خواندنی برای بخش‌های ساختاری یک سند PSD/PSB فراهم می‌کند — سرصفحه، بخش رنگ، بخش تصویر، و بخش منابع تصویر — همه از طریق ویژگی‌های تایپی، بدون نیاز به تجزیه‌وتحلیل بایتی دستی.


بازرسی بخش سرصفحه

PsdImage.header یک PsdHeader باز می‌گرداند که شامل فیلدهای ساختاری خام سند است. PsdHeader.version نسخهٔ خام مخزن PSD است (۱ برای PSD، ۲ برای PSB) — این خاصیت متفاوت از PsdImage.version نامرتبط است که یک شمارهٔ نسخهٔ ثابت API می‌باشد، نه مقدار فرمت فایل.

from aspose_psd_foss.psdimage import PsdImage

image = PsdImage.load(input_path)
header = image.header

print(f"Size: {header.width}x{header.height}, channels: {header.channels}")
print(f"Bit depth: {header.bit_depth}, raw container version: {header.version}")
print(f"Is PSB: {header.is_large_document}")

بازرسی بخش رنگ

PsdImage.color_data_info یک خلاصهٔ PsdColorDataInfo باز می‌گرداند؛ kind یک مقدار PsdColorDataKind است (NONE، INDEXED_PALETTE، RGB_PAYLOAD، CMYK_PAYLOAD یا RAW_PRESERVED).

if image.has_color_mode_data:
    color_info = image.color_data_info
    print(f"Color data kind: {color_info.kind}, raw bytes: {color_info.raw_data_length}")

بازرسی بخش تصویر

PsdImage.image_data_info یک خلاصهٔ PsdImageDataInfo بر می‌گرداند که نحوهٔ رمزگذاری داده‌های پیکسلی ترکیب‌شده را توصیف می‌کند؛ image.compression همان رمزگذاری را از طریق یک enum جداگانهٔ CompressionMethod گزارش می‌دهد.

data_info = image.image_data_info
print(f"Compression: {image.compression}, data kind: {data_info.kind}")
print(f"Uses prediction: {data_info.uses_prediction}")

بازرسی بخش منابع تصویر

PsdImage.resources, resource_count، و has_image_resources محتویات بخش منابع تصویر را نمایش دهید. ببینید Resources برای منابع کامل API.

print(f"Resource count: {image.resource_count}")

نکات و بهترین شیوه‌ها

  • PsdHeader و خلاصه‌های بخش مرتبط آن (PsdColorDataInfo، ColorData، PsdImageDataInfo) در این ساختار FOSS فقط خواندنی هستند — برای هیچ‌یک از ویژگی‌هایشان setter عمومی وجود ندارد.
  • گر نکنید PsdHeader.version (نسخهٔ واقعی کانتینر PSD/PSB) را با PsdImage.version (یک شمارهٔ نسخهٔ API ثابت و نامرتبط که همواره 6 است) اشتباه بگیرید.
  • قبل از خواندن color_data_info، image.has_color_mode_data را بررسی کنید — سندی که دادهٔ حالت رنگی ندارد همچنان یک شیء خلاصه برمی‌گرداند، اما فیلدهای آن ممکن است معنی‌دار نباشند.

مشکلات رایج

مشکلدلیلراه‌حل
header.color_mode با image.color_mode مطابقت نداردPsdHeader.color_mode فیلد عدد صحیح خام از فایل است؛ PsdImage.color_mode enum ColorModes با نوع قوی است که از آن ساخته شده استاز image.color_mode برای یک مقدار نوعی استفاده کنید؛ از header.color_mode فقط در صورتی استفاده کنید که به عدد صحیح خام نیاز دارید
color_data_info.indexed_palette None استنوع داده رنگ سند INDEXED_PALETTE نیستفقط اسناد رنگ ایندکس‌شده دارای پالت هستند — ابتدا color_data_info.kind را بررسی کنید

FAQ

آیا می‌توانم بخش‌های سرآیند، داده‌های رنگ یا داده‌های تصویر را به‌صورت مستقیم تغییر دهم؟

نه — PsdHeader، PsdColorDataInfo، ColorData و PsdImageDataInfo همگی اشیاء خلاصه‌ای فقط-قابل-خواندن در این نسخهٔ متن باز هستند.

تفاوت بین image.compression و image.image_data_info.kind چیست؟

آنها همان رمزگذاری زیربنایی را از طریق دو enum جداگانه توصیف می‌کنند: image.compression یک مقدار CompressionMethod برمی‌گرداند، در حالی که image.image_data_info.kind یک مقدار ImageDataKind برمی‌گرداند.


خلاصه API Reference

کلاس/متدتوضیح
PsdImage.headerخلاصه سرصفحه سند (PsdHeader)
PsdImage.color_data_info / parsed_color_dataخلاصهٔ بخش داده‌های رنگی (PsdColorDataInfo / ColorData)
PsdImage.image_data_info / image_data_kind / compressionخلاصهٔ بخش داده‌های تصویر
PsdImage.resources / resource_count / has_image_resourcesخلاصهٔ بخش منابع تصویر

همچنین ببینید:

 فارسی