1

Imagemagickの「変換」(またはその他)を使用して、2つの異なるサイズの画像を結合したいと思います。左下に揃えてほしい。たとえば、次の2つの画像があります。

trans_alpha.png(透明な42x37の空白の画像)とshadow.png(68x23の画像、左下に配置されたtrans_alpha.pngにオーバーレイしたい)

私が望む結果は68x37の画像になります。これらのサイズは単なる例であり、コマンドラインにサイズを入れたくはありません。入力画像のサイズを使用したいだけです。

私は成功せずに多くの組み合わせを試しました:

いいえ。776(閉じるが、左下ではなく左上に揃える)..:

convert trans_alpha.png -background none shadow.png -gravity SouthWest -layers merge  +repage result.png

いいえ。841(正しく配置されていますが、結果の画像の幅が十分ではありません)...

convert trans_alpha.png shadow.png -gravity SouthWest -composite result.png

うまくいけば、それは理にかなっています。ありがとう、

ポール

4

3 に答える 3

2

私自身の質問に答えて(www.imagemagick.orgの賢い人々の礼儀)

convert \
  trans_alpha.png shadow.png \
 -flip \
 -background none \
 -mosaic \
 -flip \
  result.png
于 2012-06-12T09:07:49.970 に答える
1

Imagemagickには多くの便利な変換が含まれていますが、それでも必要な変換が不足している場合があります。元の画像はPNGロスレスビットマップであるため、両方を長形式のPBMまたは長形式のPPMなどの関連形式に変換できます。これらの形式の利点は、画像全体をピクセルごとにプレーンテキストで表現し、プログラム(通常はかなり短いプログラム)を記述して、好きな方法で処理できることです。ストレージ形式として、PBMとPPMは非常に非効率的ですが、同様に操作が非常に簡単であり、それが必要です。

pbm(5)のマンページ(たとえば、netpbmパッケージ内のDebian / Ubuntuシステムで利用可能)はよく書かれており、プロセスを明確に説明しています。

于 2012-06-06T00:29:50.400 に答える
0

現時点ではテストできませんが-page、レイヤーで使用できるため、このようなものは機能する可能性がありますが、Yオフセットを計算する必要がある場合があります。

convert \
   trans_alpha.png \
  -background none \
   shadow.png \
  -page +0+10 \
  -layers merge \
  +repage \
   result.png

-backgroundnoneは必要ないかもしれません

于 2012-06-06T09:44:43.683 に答える