Sections
Sections
อ็อบเจ็กต์ PsdImage ที่โหลดแล้วจะเปิดเผยวัตถุสรุปแบบอ่านอย่างเดียวสำหรับส่วนโครงสร้างของเอกสาร PSD/PSB — ส่วนหัว, ส่วนข้อมูลสี, ส่วนข้อมูลภาพ, และส่วนทรัพยากรภาพ — ทั้งหมดผ่านคุณสมบัติที่มีประเภทกำหนดไว้, โดยไม่ต้องทำการแยกวิเคราะห์ระดับไบต์ด้วยตนเอง.
การตรวจสอบส่วนหัว
PsdImage.header ส่งคืน PsdHeader ที่มีฟิลด์โครงสร้างดิบของเอกสาร. PsdHeader.version คือเวอร์ชันคอนเทนเนอร์ PSD ดิบ (1 สำหรับ PSD, 2 สำหรับ 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 นี้ — ไม่มีตัวตั้งค่าแบบสาธารณะสำหรับคุณสมบัติใด ๆ ของพวกมัน.- อย่าสับสน
PsdHeader.version(เวอร์ชันคอนเทนเนอร์ PSD/PSB จริง) กับPsdImage.version(หมายเลขเวอร์ชัน API คงที่ที่ไม่มีความเกี่ยวข้องซึ่งจะต้องเป็น6เสมอ). - ตรวจสอบ
image.has_color_mode_dataก่อนอ่านcolor_data_info— เอกสารที่ไม่มีข้อมูลโหมดสียังคงคืนวัตถุสรุป, แต่ฟิลด์ของมันอาจไม่มีความหมาย.
ปัญหาทั่วไป
| ปัญหา | สาเหตุ | แก้ไข |
|---|---|---|
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 เป็นอ็อบเจ็กต์สรุปแบบอ่านอย่างเดียวทั้งหมดในรุ่น FOSS นี้.
ความแตกต่างระหว่าง 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 | สรุปส่วนทรัพยากรภาพ |