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 | خلاصهٔ بخش منابع تصویر |