首页 > 解决方案 > 如何使用 ImageMagick 和获取的变量调整 bash 脚本中的图像大小?

问题描述

我编写了以下脚本来使用 $array 中的信息(图像大小和图像链接)调整图像大小:

for ((a=0; a < ${#array[*]}; a++))
  do
    imagesize=$(echo "$a: ${array[$a]}" | grep "<icon"| grep -E -o "height=\"(\d+)" | grep -E -o "\d+")
    imagelink=$(echo "$a: ${array[$a]}" | grep "<icon"| grep -E -o "[^\"\'=[:space:]]+\.(jpe?g|png|gif)")
    convert icon.png -resize $imagesizex$imagesize! ../../$imagelink
  done

但是,图像按以下方式调整大小:36x1024 而不是 36x36。所有其他图像(48x1024、72x1024、96x1024 ...)也是如此。原始图像为 1024x1024。

你能帮我正确调整大小吗?我想,这符合:

convert icon.png -resize $imagesizex$imagesize! ../../$imagelink

bash 无法识别 $imagesizex。如何避免这个错误?

标签: bashimagemagickimage-resizing

解决方案


推荐阅读