1

5 つの JPG 画像を取得し、ImageMagick で処理して、写真をポラロイドのようなプリントのスタックとして表示する効果を作成できるようにしたいと考えています。

すべての写真が同じアスペクト比であると仮定すると、同じサイズにサイズ変更し、10 ピクセルのポラロイドのような境界線を適用してから、上部の画像の下の画像が端の周りで部分的に見えるように、すべてわずかに回転およびオフセットする必要があります。

回転/オフセットはランダムである必要はありません。本当にランダムにするよりも簡単な場合は、スタック内の各画像に対して手動でコーディングできますか?

これが私が目指している効果の例です:ポラロイドのような写真のスタック

誰かが使用する正しいパラメーターを手伝ってもらえますか? convert を使用したいと思いますか?

編集: ImageMagick ページに含まれる例については既に知っていましたが、私の要件に特に対応していません。元の画像を複製し、複数の個別の画像を使用していません。彼らはまた、各例ですべてのオプションが何をするかを正確に説明するという素晴らしい仕事をしていません - 彼らは、利用可能な何百万ものオプションをすでに何時間も (または何日も!) 費やして実験したことを前提としています. ツールを使用したことがない人にとっては、多くの作業なしで習得するのは少し難しい.

convert thumbnail.gif \
    -bordercolor white  -border 6 \
    -bordercolor grey60 -border 1 \
    -bordercolor none  -background  none \
    \( -clone 0 -rotate `convert null: -format '%[fx:rand()*30-15]' info:` \) \
    \( -clone 0 -rotate `convert null: -format '%[fx:rand()*30-15]' info:` \) \
    \( -clone 0 -rotate `convert null: -format '%[fx:rand()*30-15]' info:` \) \
    \( -clone 0 -rotate `convert null: -format '%[fx:rand()*30-15]' info:` \) \
    -delete 0  -border 100x80  -gravity center \
    -crop 200x160+0+0  +repage  -flatten  -trim +repage \
    -background black \( +clone -shadow 60x4+4+4 \) +swap \
    -background none  -flatten \
    poloroid_stack.png

...誰かがこの例を拡張して、上記のように希望する結果を達成するために変更する方法を教えてくれれば素晴らしいでしょう。

4

3 に答える 3

5

これは、私が必要としているものに対してかなり良い結果をもたらすことがわかったコマンドです.@Jim Lindstromが私を正しい軌道に乗せてくれたことに感謝します.

convert \
    img-5.jpg -thumbnail 300x200 -bordercolor white -border 10 \
    -bordercolor grey60 -border 1 -bordercolor none \
    -background none -rotate -4 \
    \
    \( img-2.jpg -thumbnail 300x200 -bordercolor white -border 10 \
       -bordercolor grey60 -border 1 -bordercolor none \
       -background none -rotate 6 \
    \) \
    \
    \( img-3.jpg -thumbnail 300x200 -bordercolor white -border 10 \
       -bordercolor grey60 -border 1 -bordercolor none \
       -background none -rotate -2 \
    \) \
    \
    \( img-1.jpg -thumbnail 300x200 -bordercolor white -border 10 \
       -bordercolor grey60 -border 1 -bordercolor none \
       -background none -rotate -4 \
    \) \
    \
    \( img-4.jpg -thumbnail 300x200 -bordercolor white -border 10 \
       -bordercolor grey60 -border 1 -bordercolor none \
       -background none -rotate 4 \
    \) \
    \
    -border 100x80 -gravity center +repage -flatten -trim +repage \
    -background black \( +clone -shadow 60x4+4+4 \) +swap -background none \
    -flatten stack.png

上記のコマンドを使用して画像から取得した出力は次のとおりです。

ポラロイド スタック

まだ完璧ではありません。別の質問で質問したい微調整がいくつかあります。

于 2013-04-20T11:44:35.803 に答える
2

「変換」のドキュメントは、ほぼ正確にその方法を示しています。http://www.imagemagick.org/Usage/thumbnails/#polaroidで「素敵な写真の山」を検索してください

これを行う別の方法を次に示します。うまくいけば、自分の写真をサブにする方法がより明確になります。

# create four images we want to use as our polaroid stack (I'm using the same one for all
# one, but you don't have to)
curl -O http://www.imagemagick.org/Usage/thumbnails/thumbnail.gif
cp thumbnail.gif thumbnail1.gif
cp thumbnail.gif thumbnail2.gif
cp thumbnail.gif thumbnail3.gif
cp thumbnail.gif thumbnail4.gif
rm thumbnail.gif

# You can easily see the recurring portion of this command. You could build 
# it up programmatically and then execute it, for however many images you want.
# I've also simplified the example in their docs by hard-coding some rotation
# angles. Feel free to get fancy, or just hard code an array of them and keep
# grabbing the next one.
convert \
   thumbnail1.gif \
   -bordercolor white  -border 6 \
   -bordercolor grey60 -border 1 \
   -bordercolor none  -background  none \
   -rotate 20  \
   -trim +repage \
   \
   \( \
   thumbnail2.gif \
   -bordercolor white  -border 6 \
   -bordercolor grey60 -border 1 \
   -bordercolor none  -background  none \
   -rotate -8 \
   -trim +repage \
   \) \
   -gravity center \
   -composite \
   \
   \( \
   thumbnail3.gif \
   -bordercolor white  -border 6 \
   -bordercolor grey60 -border 1 \
   -bordercolor none  -background  none \
   -rotate 3 \
   -trim +repage \
   \) \
   -gravity center \
   -composite \
   \
   \( \
   thumbnail4.gif \
   -bordercolor white  -border 6 \
   -bordercolor grey60 -border 1 \
   -bordercolor none  -background  none \
   -rotate -17 \
   -trim +repage \
   \) \
   -gravity center \
   -composite \
   \
   -crop 200x160+0+0  +repage  -flatten  -trim +repage \
   -background black \( +clone -shadow 60x4+4+4 \) +swap \
   -background none  -flatten \
   \
   poloroid_stack.png
于 2013-04-19T15:30:07.703 に答える
1

私はこれにいくつかの変更を加えて Simpon Hampel Code を使用します:

imagemagickでシャドウを使用して画像をマージンするにはどうすればよいですか?

これをチェックしてください..

于 2014-10-13T19:58:28.457 に答える