Sections

Sections

Một PsdImage đã được tải sẽ cung cấp các đối tượng tóm tắt chỉ đọc cho các phần cấu trúc của tài liệu PSD/PSB — tiêu đề, phần dữ liệu màu, phần dữ liệu hình ảnh và phần tài nguyên hình ảnh — tất cả thông qua các thuộc tính đã định kiểu, mà không yêu cầu bất kỳ việc phân tích cấp byte thủ công nào.


Kiểm tra phần Tiêu đề

PsdImage.header trả về một PsdHeader chứa các trường cấu trúc thô của tài liệu. PsdHeader.version là phiên bản thô của container PSD (1 cho PSD, 2 cho PSB) — đây là một thuộc tính khác so với PsdImage.version không liên quan, mà là một số phiên bản API cố định, không phải là giá trị định dạng tệp.

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}")

Kiểm tra phần Dữ liệu Màu

PsdImage.color_data_info trả về một bản tóm tắt PsdColorDataInfo; kind là một giá trị PsdColorDataKind (NONE, INDEXED_PALETTE, RGB_PAYLOAD, CMYK_PAYLOAD hoặc 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}")

Kiểm tra phần Dữ liệu Hình ảnh

PsdImage.image_data_info trả về một bản tóm tắt PsdImageDataInfo mô tả cách dữ liệu pixel đã hợp nhất được mã hoá; image.compression báo cáo cùng một mã hoá qua một enum CompressionMethod riêng biệt.

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

Kiểm tra Phần Tài Nguyên Hình Ảnh

PsdImage.resources, resource_count, và has_image_resources hiển thị nội dung của phần tài nguyên hình ảnh. Xem Resources cho các tài nguyên đầy đủ API.

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

Mẹo và Thực hành Tốt nhất

  • PsdHeader và các bản tóm tắt phần liên quan của nó (PsdColorDataInfo, ColorData, PsdImageDataInfo) đều chỉ đọc trong bản xây dựng FOSS này — không có bộ setter công cộng nào cho bất kỳ thuộc tính nào của chúng.
  • Đừng nhầm lẫn PsdHeader.version (phiên bản container PSD/PSB thực sự) với PsdImage.version (một số phiên bản API cố định, không liên quan, luôn luôn là 6).
  • Kiểm tra image.has_color_mode_data trước khi đọc color_data_info — một tài liệu không có dữ liệu chế độ màu vẫn sẽ trả về một đối tượng tóm tắt, nhưng các trường của nó có thể không có ý nghĩa.

Các Vấn đề Thường gặp

Vấn đềNguyên nhânSửa
header.color_mode không khớp với image.color_modePsdHeader.color_mode là trường nguyên nguyên thô từ tệp; PsdImage.color_mode là enum ColorModes được định kiểu mạnh mẽ được tạo từ nóSử dụng image.color_mode cho giá trị đã gõ; sử dụng header.color_mode chỉ khi bạn cần số nguyên thô
color_data_info.indexed_palette là NoneKiểu dữ liệu màu của tài liệu không phải là INDEXED_PALETTEChỉ các tài liệu màu chỉ mục mới có bảng màu — hãy kiểm tra color_data_info.kind trước

FAQ

Tôi có thể chỉnh sửa trực tiếp phần tiêu đề, dữ liệu màu hoặc phần dữ liệu hình ảnh không?

Không — PsdHeader, PsdColorDataInfo, ColorData và PsdImageDataInfo đều là các đối tượng tóm tắt chỉ đọc trong bản xây dựng FOSS này.

Sự khác nhau giữa image.compression và image.image_data_info.kind là gì?

Chúng mô tả cùng một mã hoá cơ bản thông qua hai enum riêng biệt: image.compression trả về một giá trị CompressionMethod, trong khi image.image_data_info.kind trả về một giá trị ImageDataKind.


API Reference Tóm tắt

Lớp/Phương thứcMô tả
PsdImage.headerTóm tắt tiêu đề tài liệu (PsdHeader)
PsdImage.color_data_info / parsed_color_dataTóm tắt phần dữ liệu màu (PsdColorDataInfo / ColorData)
PsdImage.image_data_info / image_data_kind / compressionTóm tắt phần dữ liệu hình ảnh
PsdImage.resources / resource_count / has_image_resourcesTóm tắt phần tài nguyên hình ảnh

Xem thêm

 Tiếng Việt