2017-04-20 19 views
0

私は現在、コマンドラインから透かしを入れて別の画像の複数の場所に透かしを入れていますが、それをやり遂げる最善の方法。ここでImageMagickを使用して画像の複数の場所に透かしを入れる方法

は、私はそれをやっている方法です:

exec("convert 'originalImage.jpg' 'watermark.jpg' -gravity NorthWest -geometry +3+3 -define compose:args=30,100 -compose dissolve -composite 'finalImage.jpg'"); 
exec("convert 'finalImage.jpg' 'watermark.jpg' -gravity NorthEast -geometry +3+3 -define compose:args=30,100 -compose dissolve -composite 'finalImage.jpg'"); 
exec("convert 'finalImage.jpg' 'watermark.jpg' -gravity SouthWest -geometry +3+3 -define compose:args=30,100 -compose dissolve -composite 'finalImage.jpg'"); 

これは、(1)originalImage.jpgを取り、左上から3pxマージンと左上隅(にwatermark.jpgを追加し、使用しています30%の不透明度)、(2)結果としてfinalImage.jpgを取得し、右上にウォーターマークを追加してから、(3)finalImage.jpgをもう一度撮り、ウォーターマークを左下に追加します。

最終的な画像を得るためにファイルを3回作り直しています。ファイルを3回別々に保存しなくても、同じことを行う簡単な方法はありますか?

ありがとうございます!

+0

私の答えは、または他の人があなたの問題を整理しましたか?もしそうなら、それをあなたの答えとして受け入れることを検討してください - 投票数の横にある緑色のチェックマーク/チェックマークをクリックしてください。そうでない場合は、私が、または他の誰かがあなたをさらに助けることができるように、何がうまくいかないと言ってください。ありがとう。 http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235 –

答えて

0
コンピュータで

ないので、テストされていないが、これは近いはずである。

convert originalImage.jpg \(watermark.jpg -write MPR:wm \) \ 
    -define compose:args=30,100 -compose dissolve   \ 
      -gravity NorthWest -geometry +3+3 -composite  \ 
    MPR:wm -gravity NorthEast -geometry +3+3 -composite  \ 
    MPR:wm -gravity SouthWest -geometry +3+3 -composite finalImage.jpg 

MPRは、私が再読み続けるために必要がないように使用するRAMベースの「魔術永続登録」ですwatermark.jpg

引数が変更されるまで、引き続き繰り返されます。 2回目と3回目を繰り返す必要はありません-geometry

+0

これはうまくいくはずですが、もっと簡単で、もっと速くいくつかの "画像を描く..."オプション。 –

+0

@ GlennRanders-Pehrson、あなたが言及している方法のより完全な例を教えてください。ありがとう! –

+0

ありがとう@MarkSetchell。私は明日の朝にこれを撃つつもりだ。 –

1

はここで、複数の「-draw」オプションを使用して別のソリューションです: あなたが30%のアルファを持つように前もって 透かし画像を準備する必要があると思いますので、「-draw」「溶解」オプションはありません。

convert watermark.jpg -alpha set -channel alpha -fx .30 watermark30.png 
convert originalImage.jpg \ 
    -gravity NorthWest -draw "image over 3,3 0,0 watermark30.png" \ 
    -gravity NorthEast -draw "image over 3,3 0,0 watermark30.png" \ 
    -gravity SouthWest -draw "image over 3,3 0,0 watermark30.png" \ 
    finalImage.jpg 

これをMarkの推奨事項と組み合わせて、watermark30.pngの代わりにMPR形式を使用することができます。私は「ドロー」と「コンポジット」の2つのタイミングテストを行いましたが、マークの方法はいくぶん高速です。


私はあなたが私はあなたのポストを編集して気にしない願っています - あなたが望む場合はそれを削除 - しかし、ここで一つのコマンドは、それが一度にすべて同じことをどのように見えるかです:

convert watermark.jpg -alpha set -channel alpha -fx .30 -write MPR:wm30 +delete original.jpg \ 
    -gravity NorthWest -draw "image over 3,3 0,0 'MPR:wm30'" \ 
    -gravity NorthEast -draw "image over 3,3 0,0 'MPR:wm30'" \ 
    -gravity SouthWest -draw "image over 3,3 0,0 'MPR:wm30'" \ 
    finalImage.jpg 

enter image description here

関連する問題