【问题标题】:Drawing a line using imagemagick within a bash for loop在 bash for 循环中使用 imagemagick 绘制一条线
【发布时间】:2013-11-02 05:20:04
【问题描述】:

我想使用 bash for 循环用 imagemagick 在多个图像上画一条线。我希望这条线位于每张图像上略有不同的位置。不幸的是,这个间距需要用十进制数字定义,即我是 |公元前。

最终,我希望我的循环看起来像:

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

有什么想法吗?为帮助和信息干杯!

【问题讨论】:

    标签: bash imagemagick bc


    【解决方案1】:

    经过多次试验和错误,以下在 bash for 循环中创建增量的十进制值,以用于 imagemagick 实用程序,转换。

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-16
      • 1970-01-01
      • 1970-01-01
      • 2022-10-15
      • 1970-01-01
      • 2013-11-12
      • 1970-01-01
      • 2019-09-18
      相关资源
      最近更新 更多