0

私はこの場所からどこから始めるべきか分かりません。私はimagemagickで比較的簡単に行うことができると思っていることをしようとしていますが、私は最初から正確なコマンドを知りません。私は画像を通って線を描き、線の上のすべてを画像内で透明にし、線の下にあるすべてのもの、すなわち、信号画像を作成する必要があります。 imagemagickを使ってこれを達成する最良の方法は何でしょうか?イメージの半分をコマンドラインから透明にする

だから今私が考えてきたのは、画像をトリミングして元のサイズに変更し、透明な背景にすることです。私が使っているコマンドはこれですが、それは常に黒くなります。なぜ私は理解していない。ヘルプのすべてのための

convert -background none -gravity south out.png -resize 400x200 -extent 400x400 result.png

ありがとう!

+0

試してみますその値は非透明度に対して最大であり、その半分の値は半透明である。画像をRGBAに変換することでアルファチャンネルを実現できると付け加えました。 – user236012

+0

@ user236012それは私が行っていたものではありません。私は、画像の下半分が100%不透明で、上半分が100%透明であることが本当に必要です。 –

+0

マスクを追加する必要があります。私は現時点ではテストすることができませんが、これはあなたにいくつかのアイデアを与える必要があります:https://www.imagemagick.org/Usage/photos/#overlap – Bonzo

答えて

5

これはかなり簡単な方法です。まず、画像に画像がない場合はアルファチャンネルを有効にしてから、次の-fxコマンドで変更するアルファチャンネルを選択します。ここで、現在のjが画像の高さの半分よりも大きい場合は、アルファレイヤを不透明にします。そうでない場合は透明にします。それは簡単に聞こえる!

ので、この開始画像使用:

enter image description here

convert bean.jpg -alpha on -channel A -fx "j>h/2?1:0" result.gif 

enter image description here

あるいは、他の方法:

convert bean.jpg -alpha on -channel A -fx "j<h/2?1:0" result.gif 

enter image description here

を0

またはその他の、他の方法:追加

convert bean.jpg -alpha on -channel A -fx "i<w/2?1:0" result.gif 

enter image description here

それとも、あなたは金曜日の朝に特に愚かな感じている場合...

convert bean.jpg -alpha on -channel A -fx "hypot(i,j)/400-0.8" result.gif 

enter image description here

+0

素晴らしい!ありがとうございました! –

関連する問題