提问者:小点点

magick命令给出了无法打开图像的错误


我试图从命令提示符下运行命令,它给我以下错误:

magick billadd1.jpg -type TrueColorAlpha billadd2.jpg -type TrueColorAlpha \( -clone 0,1 -compose difference -composite -morphology dilate disk:10 \) \( -clone 0 -fill yellow -colorize 100 -channel a -evaluate set 50% +channel \) \( -clone 0,3,2 -compose over -composite +write 1.jpg \) \( -clone 1,3,2 -compose over -composite +write 2.jpg \) null:

magick: unable to open image '\(': No such file or directory @ error/blob.c/OpenBlob/3537.

null

还有,如何使用IM4Java从Java运行这个命令?

注意我使用的是imagemagick veriosn7


共1个答案

匿名用户

Windows语法与UNIX/Linux语法不同。您的命令当前使用UNIX/Linux语法:

magick billadd1.jpg -type TrueColorAlpha billadd2.jpg -type TrueColorAlpha          \
    \( -clone 0,1 -compose difference -composite -morphology dilate disk:10 \)      \
    \( -clone 0 -fill yellow -colorize 100 -channel a -evaluate set 50% +channel \) \
    \( -clone 0,3,2 -compose over -composite +write 1.jpg \)                        \
    \( -clone 1,3,2 -compose over -composite +write 2.jpg \) null:

当转换到Windows时,它可能变成:

magick billadd1.jpg -type TrueColorAlpha billadd2.jpg -type TrueColorAlpha ^
   ( -clone 0,1 -compose difference -composite -morphology dilate disk:10 ) ^
   ( -clone 0 -fill yellow -colorize 100 -channel a -evaluate set 50%% +channel  ) ^
   ( -clone 0,3,2 -compose over -composite +write 1.jpg ) ^
   ( -clone 1,3,2 -compose over -composite +write 2.jpg ) null:

因此,从Linux到Windows的规则如下:

  • 删除括号前的反斜杠/li>
  • 将反斜杠行延续字符更改为插入符号(code/code)/li>

这里有一些更详细的注释。