1

bash for ループを使用して、複数の画像に imagemagick で線を引きたいと思います。各画像で少し異なる場所に線を配置したいと思います。残念ながら、この間隔は 10 進数で定義する必要があります。紀元前。

最終的に、ループを次のようにしたいと思います。

j=1
k=.3
for i in *.jpg
do
convert $i -draw "line $"(( $k + $j ))" | bc ,10 $"(( ($k + $j ))" | bc ,20" "${i%.*}line.jpg"

j=$(( $j + 1 ))

done

ただし、このより単純化された例を機能させることさえできません。

convert $i -draw "line $"(( $j+2.1 ))" | bc ,581 $j, 514" test.jpg

何か案は?ヘルプと情報に乾杯!

4

1 に答える 1

4

多くの試行錯誤の後、以下は imagemagick ユーティリティ convert で使用する bash for ループで増分の 10 進数値を作成します。

j=56
k=4.5111
for i in *.jpg
do
    p=$(echo "$j + $k" | bc) 
    convert $i -draw "line $p, 581 $p, 514" "${i%.*}.jpg"

    j=$(( $j + 1 ))
done
于 2013-11-04T02:35:25.413 に答える