通过C#执行imagecgick转换

2 c# imagemagick

当我在Windows中打开命令窗口并使用imagemagick convert命令时:

转换/somedir/Garden.jpg /somedir/Garden.png

它按预期工作.

我要做的是使用C#执行与上面相同的命令.

我尝试使用System.Diagnostics.Process,但是没有创建foo.png.

我正在使用此代码:

      var proc = new Process
      {
          StartInfo =
          {
              Arguments = string.Format("{0}Garden.jpg {1}Garden.png",
              TEST_FILE_DIR,
              TEST_FILE_DIR),
              FileName = @"C:\xampp\ImageMagick-6.5.4-Q16\convert",
              UseShellExecute = false,
              CreateNoWindow = true,
              RedirectStandardOutput = false,
              RedirectStandardError = false
          }
      };

      proc.Start();
Run Code Online (Sandbox Code Playgroud)

没有异常被抛出,但也没有写.png.

Jon*_*eet 6

我的猜测是TEST_FILE_DIR包含一个空格 - 所以你必须引用它.

试试这个:

Arguments = string.Format("\"{0}Garden.jpg\" \"{1}Garden.png\"",
                          TEST_FILE_DIR,
                          TEST_FILE_DIR)
Run Code Online (Sandbox Code Playgroud)

您可能还想提供包含扩展名的文件名,例如

FileName = @"C:\xampp\ImageMagick-6.5.4-Q16\convert.exe"
Run Code Online (Sandbox Code Playgroud)