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
PsdHeadervà 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ớiPsdImage.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_datatrước khi đọccolor_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ân | Sửa |
|---|---|---|
header.color_mode không khớp với image.color_mode | PsdHeader.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à None | Kiểu dữ liệu màu của tài liệu không phải là INDEXED_PALETTE | Chỉ 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ức | Mô tả |
|---|---|
PsdImage.header | Tóm tắt tiêu đề tài liệu (PsdHeader) |
PsdImage.color_data_info / parsed_color_data | Tóm tắt phần dữ liệu màu (PsdColorDataInfo / ColorData) |
PsdImage.image_data_info / image_data_kind / compression | Tóm tắt phần dữ liệu hình ảnh |
PsdImage.resources / resource_count / has_image_resources | Tóm tắt phần tài nguyên hình ảnh |