C# 将ProcessStartInfo与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#测试应用程序来实现自动化: 我已经尝试过几种排列方式,使用convert.exe、mogrify.exe,动词为“runas”,工作目录设置为开或关。。。(请参阅注释掉的内容-我已尝试设置它)我已参考了,但仍会出现相同的错误: mogrify.exe:无法打开图像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#测试应用程序来实现自动化: 我已经尝试过几种
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();