web-dev-qa-db-ja.com

ImageMagickを使用してPSDからレイヤーを抽出し、レイアウトを維持

PSDからレイヤーを抽出するためにImageMagickを使用しています。

convert image.psd image-%d.png

ただし、結果のPNG画像は、レイヤーの実際のコンテンツに応じて、さまざまなサイズになります。すべてのレイヤーを抽出しますが、すべて同じサイズにして、後で簡単に重ねて、元のPSDと同じようにすべてを揃えることができます。

それを視覚化するのに役立つ場合、これは私が現在上記のコマンドで得ているものです:

 + ---- + 
 | A | +-+ +-+ 
 | | = | A | + | B | 
 | B | +-+ +-+ 
 + ---- + 

そして私が欲しいのは:

 + ---- + + ---- + + ---- + 
 | A | | A | | | 
 | | = | | + | | 
 | B | | | | B | 
 + ---- + + ---- + + ---- + 

結果の画像は背景が透明なので、これを行うことができます:

 + ---- + + ---- + 
 | A | | A | + 
 | | = | || 
 | B | | B || 
 + ---- + + ---- + | 
 + ---- + 

私は決してImageMagickに縛られていません。そのため、これを実現できる別の(できればコマンドライン)ツールがあれば、それで問題ありません。

37
Thom

これを入力して、PSDファイルからレイヤー番号2を抽出します。

convert             \
  <filename>.psd[0] \
  <filename>.psd[2] \
  \(                    \
     -clone 0           \
     -alpha transparent \
  \)                    \
 -swap 0           \
 +delete           \
 -coalesce         \
 -compose src-over \
 -composite        \
 <extracted-filename>.png

これにより、最初にPSDファイルと同じサイズの透明なキャンバスが作成され、次にそれがレイヤー2と結合されて元のレイアウト(-coalesce

8
biondo

私はこのコマンドラインを使用して、説明していることを行います:

convert.exe <filename>.psd -set dispose Background -coalesce <outfilename>.png
23
killmenow