Pergunta

Quando eu abrir uma janela de comando no Windows e use o comando imagemagick convertido:

converso /somedir/Garden.jpg /somedir/Garden.png

Ele funciona como esperado.

O que estou tentando fazer é executar o mesmo comando como acima usando C #.

Eu tentei usar System.Diagnostics.Process, no entanto, não foo.png é criado.

Eu estou usando este código:

      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();

Nenhuma exceção é jogado, mas não .png está escrito, qualquer um.

Foi útil?

Solução

Meu palpite é que TEST_FILE_DIR contém um espaço -. Então você tem que citá-lo

Tente isto:

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

Você também pode querer dar o nome do arquivo, incluindo a extensão, por exemplo.

FileName = @"C:\xampp\ImageMagick-6.5.4-Q16\convert.exe"
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top