コア 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 | 解析された画像リソースブロック(読み取り専用) |