将我的头发撕成一些应该非常简单的东西!我已经在我的shell上使用了CD:\ Program Files \ ImageMagick-6.9.0-Q16,并使用了以下命令字符串,该字符串适用于我的机器;它创建了预期的输出图像,没问题:
转换" C:\ Users \ someguy \ Debug \ test_in.jpg" -resize 75x75 -colorspace RGB" C:\ Users \ someguy \ Debug \ test_out.jpg"
我正在尝试使用C#中的简单测试应用程序自动执行此操作:
var proc = new Process
{
StartInfo = new ProcessStartInfo()
{
//WorkingDirectory = @"C:\Program Files\ImageMagick-6.9.0-Q16\",
Arguments = //_arguments,
"convert \"" + InputPath + "\" -resize 75x75 \"" + OutputPath + "\""
,
UseShellExecute = _useShellExecute,
RedirectStandardError = _redirectStandardError,
//RedirectStandardOutput = _redirectStandardOutput,
//CreateNoWindow = _createNoWindow,
//Verb = _verb,
FileName = @"C:\Program Files\ImageMagick-6.9.0-Q16\" + "convert.exe"
}
};
var test = proc.StartInfo.Arguments.ToString();
proc.Start();
string error = proc.StandardError.ReadToEnd();
proc.WaitForExit();
我尝试了几种这样的排列,使用convert.exe,mogrify.exe,动词为" runas",工作目录设置为on或off ...(请参阅注释掉的内容 - 我已经尝试过设置它了)我已经提到how to use imageMagick with C#但我仍然遇到同样的错误:
mogrify.exe:无法打开图片
convert': No such file or directory @ error/blob.c/OpenBlob/2709. mogrify.exe: no decode delegate for this image format
' @ error / construct.c / ReadImage / 501。 mogrify.exe: 无法打开图像`C:\ Users \ someguy \ Debug \ test_out.jpg':没有这样的 文件或目录@ error / blob.c / OpenBlob / 2709。
我觉得我在这里遗漏了一些非常基本的东西,但我现在还不知道。有人可以提出建议吗?
答案 0 :(得分:0)
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。作为FYI,其他参数是ShellExecute = false,Redirect std err / out设置为true,动词是runas。