コア API

コアAPI

PsdImage は、PSD/PSB ドキュメントの読み込み、検査、保存のエントリーポイントです。抽象的な Image 基底クラスを拡張し、load() だけが宣言されています――ドキュメントの残りの表面 (width、height、save()、コンテキストマネージャーサポート) は PsdImage 自体で定義されており、継承されません。


ドキュメントの読み込みと保存

Image.load() はファイルパスまたはストリームを受け取り、Image を返します;PSD/PSB 入力の場合、これは常に PsdImage であるため、明示的なキャストなしでドキュメントの表面がすぐに利用可能です。PsdImage は自動クリーンアップのための with 文もサポートし、PsdImage.save() はドキュメントをファイルパスまたはストリームに書き戻します。

from aspose_psd_foss.psdimage import PsdImage

with PsdImage.load(input_path) as image:
    # ... inspect or edit ...
    image.save(output_path)

ドキュメントヘッダーのプロパティ

PsdImage は解析されたヘッダーを型付きプロパティとして公開します: width、height、bits_per_channel、color_mode、version、compression、size、および is_flatten。

print(f"Width: {image.width}, Height: {image.height}")
print(f"ColorMode: {image.color_mode}, Version: {image.version}")
print(f"Compression: {image.compression}, IsFlatten: {image.is_flatten}")

画像リソース

PsdImage.image_resources は解析された ResourceBlock オブジェクトのリストを返します。この FOSS ビルドでは、image_resources、global_layer_resources、active_layer、および has_transparency_data は読み取りは可能ですが再代入できません――それらのセッターは NotSupportedException を発生させます。

for resource in image.image_resources:
    print(f"Resource {resource.id}: {resource.name} ({resource.data_size} bytes)")

ヒントとベストプラクティス

  • Image.load() はすでに PSD/PSB 入力に対して PsdImage を返します — 他の言語ポートとは異なり、キャストは不要です。
  • with 文を使用してください;PsdImage はクリーンアップのためのコンテキストマネージャプロトコルをサポートしています。
  • たとえ setter を公開していても、image_resources、global_layer_resources、active_layer、および has_transparency_data を読み取り専用として扱ってください。
  • image.layers にインデックスを付ける前に image.layer_count を確認してください — フラット化されたドキュメントはレイヤーが 0 の場合があります。

一般的な問題

問題原因修正
NotSupportedException を image_resources に設定する時このプロパティは、setter が存在するにもかかわらず、FOSS ビルドでは読み取り専用です値を読み取ってください;再代入しようとしないでください
フラット化されたドキュメント上の空の image.layers リストis_flatten は True であり、ドキュメントには解析されたレイヤーがありませんimage.layer_count(またはimage.is_flatten)をインデックスする前にimage.layersを確認してください

FAQ

PSD ドキュメントを読み込むとピクセルデータがデコードされますか?

No. PsdImage.load() は、ドキュメントヘッダー、レイヤーメタデータ、およびリソースを、ピクセルデータをデコードしたりレンダリングしたりせずに解析します。

PSD ファイルを別の画像形式に変換できますか?

No. このライブラリは PSD/PSB ドキュメントのみをロード、検査、保存します — ピクセルデータをレンダリングしたり、他の画像形式に変換したりはしません。


API Reference の概要

クラス/メソッド説明
Image.load(path) / Image.load(stream)PSD または PSB ドキュメントを読み込みます
PsdImage.save(path) / PsdImage.save(stream)ドキュメントを保存します
PsdImage.width / height / bits_per_channel / color_mode / version / compression / size / is_flattenドキュメントヘッダーのプロパティ
PsdImage.image_resources解析された画像リソースブロック(読み取り専用)

参照

 日本語