C# 将ProcessStartInfo与ImageMagick';莫格里菲酒店

C# 将ProcessStartInfo与ImageMagick';莫格里菲酒店,c#,windows,image,imagemagick,C#,Windows,Image,Imagemagick,为了一件本该简单得可笑的事情,把我的头发扯得乱七八糟!我的shell上有C:\Program Files\ImageMagick-6.9.0-Q16的cd,并使用了在我的机器上工作的以下命令字符串;它会创建预期的输出图像,没有问题: 转换“C:\Users\someguy\Debug\test\u in.jpg”-调整75x75大小-颜色空间 RGB“C:\Users\someguy\Debug\test\u out.jpg” 我正试图用一个简单的C#测试应用程序来实现自动化: 我已经尝试过几种

为了一件本该简单得可笑的事情,把我的头发扯得乱七八糟!我的shell上有C:\Program Files\ImageMagick-6.9.0-Q16的cd,并使用了在我的机器上工作的以下命令字符串;它会创建预期的输出图像,没有问题:

转换“C:\Users\someguy\Debug\test\u in.jpg”-调整75x75大小-颜色空间 RGB“C:\Users\someguy\Debug\test\u out.jpg”

我正试图用一个简单的C#测试应用程序来实现自动化:

我已经尝试过几种排列方式,使用convert.exe、mogrify.exe,动词为“runas”,工作目录设置为开或关。。。(请参阅注释掉的内容-我已尝试设置它)我已参考了,但仍会出现相同的错误:

mogrify.exe:无法打开图像
convert”:没有这样的文件或目录
@错误/blob.c/OpenBlob/2709。mogrify.exe:此文件没有解码委托
图像格式
'@error/composure.c/ReadImage/501。mogrify.exe: 无法打开映像“C:\Users\someguy\Debug\test\u out.jpg”:没有这样的 文件或目录@error/blob.c/OpenBlob/2709

我觉得我只是缺少了一些基本的东西,但我现在一点都不知道。有人能提个建议吗

var proc = new Process
            {
                StartInfo = new ProcessStartInfo(_imageMagickFile)
                {
                    //WorkingDirectory = @"C:\Program Files\ImageMagick-6.9.0-Q16\",
                    Arguments = //_arguments,
                    "" + InputPath + " -resize 75x75 " + OutputPath + ""
                    ,
                    UseShellExecute = _useShellExecute,
                    RedirectStandardError = _redirectStandardError,
                    RedirectStandardOutput = _redirectStandardOutput,
                    CreateNoWindow = _createNoWindow,
                    Verb = _verb,
                    FileName = _imageMagickFile
                }
            };
            var test = proc.StartInfo.Arguments.ToString();
            proc.Start();
            string error = proc.StandardError.ReadToEnd();
            proc.WaitForExit();
我不确定为什么这个问题比原来的问题有效,但它确实有效。使用convert.exe确实是正确的,而不是mogrify.exe。仅供参考,其他参数为ShellExecute=false,重定向标准错误/输出设置为true,动词为runas

var proc = new Process
            {
                StartInfo = new ProcessStartInfo(_imageMagickFile)
                {
                    //WorkingDirectory = @"C:\Program Files\ImageMagick-6.9.0-Q16\",
                    Arguments = //_arguments,
                    "" + InputPath + " -resize 75x75 " + OutputPath + ""
                    ,
                    UseShellExecute = _useShellExecute,
                    RedirectStandardError = _redirectStandardError,
                    RedirectStandardOutput = _redirectStandardOutput,
                    CreateNoWindow = _createNoWindow,
                    Verb = _verb,
                    FileName = _imageMagickFile
                }
            };
            var test = proc.StartInfo.Arguments.ToString();
            proc.Start();
            string error = proc.StandardError.ReadToEnd();
            proc.WaitForExit();