導入
Aspose.PSD FOSS for Python は、Python コードから PSD および PSB(Photoshop 大規模ドキュメント)ファイルを操作するための新しいオープンソースライブラリです。MIT ライセンスでリリースされ、サードパーティのネイティブ依存関係は一切なく、実行時には Python 標準ライブラリのみが必要です。パッケージは aspose_psd_foss としてインポートされます。
このライブラリは、抽象的な Image 基底クラスを拡張する PsdImage クラスと Layer クラスを中心に構成されています。Image.load() / PsdImage.load() は、ファイルパスまたはストリームからドキュメントを読み込み、ヘッダー情報(width, height, color_mode, version, compression)と解析された layers コレクションを公開します。PsdImage.save() はドキュメントをファイルまたはストリームへ書き戻します。両クラスは自動クリーンアップのための with 文をサポートしています。各 Layer はそれぞれのメタデータ(name, bounds, is_visible, opacity, clipping, blend_mode_key、およびチャンネル/マスク情報)を公開し、これらのプロパティの一部はその場で変更してファイルに保存できます。
このリリースは、商用ライセンスなしで Python コードベース内の PSD/PSB ファイルを検査したり、限定的なメタデータ編集を行う必要がある開発者向けです。レイヤー構造を報告するアセットパイプラインツール、ハンドオフ前にレイヤー名の変更や可視性の切り替えを行うビルドスクリプト、または完全なレンダリングエンジンなしで PSD ヘッダーとレイヤーデータを読み取る必要があるテストフィクスチャなどが該当します。このライブラリはピクセルデータをレンダリングしたり PSD/PSB を他の画像形式に変換したりはしません — PSD/PSB コンテナ形式向けのメタデータ中心のリーダ/ライタです。
同梱内容
ドキュメント検査
PsdImage.load() は PSD または PSB ファイルのヘッダーを型付きプロパティ(width, height, bits_per_channel, color_mode, version, compression, size, is_flatten)に解析し、ピクセルデータをデコードせずに処理します。
from aspose_psd_foss.psdimage import PsdImage
with PsdImage.load("input.psd") as image:
print(f"Width: {image.width}, Height: {image.height}")
print(f"ColorMode: {image.color_mode}, Version: {image.version}")
print(f"Layers: {image.layer_count}, Compression: {image.compression}")
レイヤーメタデータ
PsdImage.layers の各エントリは、独自の境界、可視性、不透明度、クリッピング、およびブレンドモードメタデータを公開する Layer です。
from aspose_psd_foss.psdimage import PsdImage
with PsdImage.load("input.psd") as image:
for layer in image.layers:
print(f"{layer.name}: {layer.bounds}, Visible={layer.is_visible}, Opacity={layer.opacity}")
サポートされているメタデータ編集
レイヤー属性のサブセットは、その場で変更でき、PsdImage.save() で書き戻すことができます: 名前、可視性、不透明度、クリッピング、ブレンドモードキー、および4つの境界エッジ。
from aspose_psd_foss.psdimage import PsdImage
from aspose_psd_foss.layers.blendmode import BlendMode
with PsdImage.load("input.psd") as image:
layer = image.layers[0]
layer.name = f"{layer.name} (edited)"
layer.is_visible = not layer.is_visible
layer.opacity = 128
layer.blend_mode_key = BlendMode.MULTIPLY
image.save("output.psd")
クイックスタート
パッケージをインストールし、PSD または PSB ファイルを読み込み、レイヤーを検査し、再度保存します:
git clone https://github.com/aspose-psd-foss/Aspose.PSD-FOSS-for-Python.git
cd Aspose.PSD-FOSS-for-Python
# No packaging manifest is published yet -- run from this folder,
# or add it to PYTHONPATH:
export PYTHONPATH=$PWD:$PYTHONPATHfrom aspose_psd_foss.psdimage import PsdImage
with PsdImage.load("input.psd") as image:
print(f"Width: {image.width}, Height: {image.height}, Layers: {image.layer_count}")
for layer in image.layers:
print(f" {layer.name}: {layer.bounds}")
image.save("output.psd")
サポートされているフォーマット
| フォーマット | 拡張子 | 読み取り | 書き込み |
|---|---|---|---|
| PSD | psd | ✓ | ✓ |
| PSB | psb | ✓ | ✓ |
オープンソースとライセンス
Aspose.PSD FOSS for Python は MIT ライセンスで、ロイヤリティなしで商用製品に使用でき、評価用の透かしや使用制限はありません。
このライブラリはサードパーティのネイティブ依存関係が一切ありません — 実行時には Python 標準ライブラリのみが必要です。