BASH-数学图像大小

BASH-数学图像大小,bash,for-loop,size,identify,Bash,For Loop,Size,Identify,我试图找到一个图像大小的分数使用这个 w=$(identify -format "%w" $1) h=$(identify -format "%h" $1) w16=$(($w/16)) w2=$(($w/2)) h16=$(($h/16)) h2=$(($h/2)) 返回此错误 identify: unable to open image `1323728291642.jpg': ��� @ error/blob.c/OpenBlob/2489. identify: unable to op

我试图找到一个图像大小的分数使用这个

w=$(identify -format "%w" $1)
h=$(identify -format "%h" $1)
w16=$(($w/16))
w2=$(($w/2))
h16=$(($h/16))
h2=$(($h/2))
返回此错误

identify: unable to open image `1323728291642.jpg': ��� @ error/blob.c/OpenBlob/2489.
identify: unable to open image `1323728291642.jpg':  @ error/blob.c/OpenBlob/2489.
identify: unable to open image `1323728291642.jpg': �8� @ error/blob.c/OpenBlob/2489.
identify: unable to open image `1323728291642.jpg':  @ error/blob.c/OpenBlob/2489.
bash: /16: syntax error: operand expected (error token is "/16")
这是在这方面使用的

for i in `cat ../list`; do . ~/base64ensize.sh "$i" jpg|gpaste add;read -p "Press [Enter] key to start backup..."; done
列表是当前目录中图像文件的列表

如果需要,这里是base64ensize.sh的其余部分

w=$(identify -format "%w" $1)
h=$(identify -format "%h" $1)
w16=$(($w/16))
w2=$(($w/2))
h16=$(($h/16))
h2=$(($h/2))
#echo $w $w2 $w15 $h $h2 $h16
echo -n "<img height='$h16' width='$w16' onclick="
echo -n '"this.height='
echo -n "'$h2';this.width='$w2'"
echo -n '" ondblclick="this.height='
echo -n "'$h16';this.width='$w16'"
echo -n '"'

echo -e "src='data:image/EXT;base64,"$(base64 $1)"'>" >> temp
sed s/"EXT"/$2/ temp
rm temp
w=$(标识-格式“%w”$1)
h=$(标识-格式“%h”$1)
w16=$($w/16))
w2=$($w/2))
h16=$($h/16))
h2=$($h/2))
#回声$w$w2$w15$h$h2$h16
echo-n”“>>温度
sed s/“分机”/$2/临时
室温
base64ensize.sh:

w=$(identify -format "%w" $1)
   h=$(identify -format "%h" $1)
   w16=$((w/16))
   w2=$((w/2))
   h16=$((h/16))
   h2=$((h/2))
   #echo $w $w2 $w15 $h $h2 $h16
   echo -n "<img height='$h16' width='$w16' onclick="
   echo -n '"this.height='
   echo -n "'$h2';this.width='$w2'"
   echo -n '" ondblclick="this.height='
   echo -n "'$h16';this.width='$w16'"
   echo -n '" '

   echo -e "src='data:image/$2;base64,"$(base64 -w 0 $1)"'>"
   echo
   #sed s/"EXT"/$2/ temp
   #rm temp

那么,
1323728291642.jpg
是JPEG格式图像的有效文件名吗?它在当前目录中吗?似乎
identify
命令无法打开该文件。这是一个愚蠢的问题,但您是否验证了1323728291642.jpg是一个有效的映像?i、 e.“identify 1323728291642.jpg”的输出是什么?是的,它是有效的,并且在当前目录中,我使用
ls>获得了列表。/list
@synthesizerpatel:无需调用
ls
。只需对*.jpg
w=$(identify -format "%w" $1)
   h=$(identify -format "%h" $1)
   w16=$((w/16))
   w2=$((w/2))
   h16=$((h/16))
   h2=$((h/2))
   #echo $w $w2 $w15 $h $h2 $h16
   echo -n "<img height='$h16' width='$w16' onclick="
   echo -n '"this.height='
   echo -n "'$h2';this.width='$w2'"
   echo -n '" ondblclick="this.height='
   echo -n "'$h16';this.width='$w16'"
   echo -n '" '

   echo -e "src='data:image/$2;base64,"$(base64 -w 0 $1)"'>"
   echo
   #sed s/"EXT"/$2/ temp
   #rm temp
bash run.sh > images.html