【问题标题】:Exec imagemagick convert via C#通过 C# 执行 imagemagick 转换
【发布时间】:2009-09-13 07:10:20
【问题描述】:

当我在 windows 中打开命令窗口并使用 imagemagick 转换命令时:

转换 /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();

不会抛出异常,但也不会写入 .png。

【问题讨论】:

    标签: c# imagemagick


    【解决方案1】:

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

    试试这个:

    Arguments = string.Format("\"{0}Garden.jpg\" \"{1}Garden.png\"",
                              TEST_FILE_DIR,
                              TEST_FILE_DIR)
    

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

    FileName = @"C:\xampp\ImageMagick-6.5.4-Q16\convert.exe"
    

    【讨论】:

    • 成功了,谢谢!你只是在论点周围加上引号,对吧?
    • 是的 - 只是为了处理空格。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-08
    • 2015-09-15
    • 1970-01-01
    • 2014-08-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多