我在osx mac中有一个.sh来在app中生成图标上下文,但是当我运行脚本时,我收到一条消息
convert: unable to open image `c.png': No such file or directory @ error/blob.c/OpenBlob/2709.
convert: unable to open file `c.png' @ error/png.c/ReadPNGImage/3917.
convert: no images defined `mipmap-mdpi/c.png' @ error/convert.c/ConvertImageCommand/3210.
和文件c.png保留在文件夹
中read original
read nombre_resultante
read size
Resize () {
if [ "$size" == "1" ]; then
SIZE_MDPI="48x48"
SIZE_HDPI="72x72"
SIZE_XHDPI="96x96"
SIZE_XXHDPI="144x144"
SIZE_XXXHDPI="192x192"
elif [ "$size" == "2" ]; then
SIZE_MDPI="24x24"
SIZE_HDPI="36x36"
SIZE_XHDPI="48x48"
SIZE_XXHDPI="72x72"
SIZE_XXXHDPI="96x96"
fi
rm -rf mipmap-mdpi/*
rm -rf mipmap-hdpi/*
rm -rf mipmap-xhdpi/*
rm -rf mipmap-xxhdpi/*
rm -rf mipmap-xxxhdpi/*
convert $original -resize "$SIZE_MDPI" mipmap-mdpi/$nombre_resultante
convert $original -resize "$SIZE_HDPI" mipmap-hdpi/$nombre_resultante
convert $original -resize "$SIZE_XHDPI" mipmap-xhdpi/$nombre_resultante
convert $original -resize "$SIZE_XXHDPI" mipmap-xxhdpi/$nombre_resultante
convert $original -resize "$SIZE_XXXHDPI" mipmap-xxxhdpi/$nombre_resultante
}
Resize $size
答案 0 :(得分:1)
错误消息表示文件c.png
不存在。我可以使用不存在的文件重现您的错误消息:
$ convert nonexistent.png -resize 48x48 a/b/whatever.png convert: unable to open image `nonexistent.png': No such file or directory @ error/blob.c/OpenBlob/2702. convert: unable to open file `nonexistent.png' @ error/png.c/ReadPNGImage/3913. convert: no images defined `a/b/whatever.png' @ error/convert.c/ConvertImageCommand/3241.
运行脚本时,可能是在错误的目录中。
cd
到文件所在的正确目录,以及子目录mipmap-*dpi
的存在位置。
您可以在调用调整大小函数之前添加一个检查,如下所示:
if [ ! -f "$original" ]; then
echo fatal: file does not exist: $original
exit 1
fi