Sections

Sections

已加载的 PsdImage 提供只读的摘要对象,用于 PSD/PSB 文档的结构化章节——包括标题、颜色数据章节、图像数据章节和图像资源章节——全部通过类型化属性访问,无需手动进行字节级解析。


检查 Header 部分

PsdImage.header 返回一个包含文档原始结构字段的 PsdHeader。PsdHeader.version 是原始 PSD 容器版本(PSD 为 1,PSB 为 2)——这与不相关的 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 通过单独的 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 是基于它构建的强类型 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 有何区别?

它们通过两个独立的枚举描述相同的底层编码: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图像资源部分摘要

另请参阅

 中文