Question

Lorsque j'ouvre une fenêtre de commande dans Windows et que j'utilise la commande imagemagick convert:

convertir /somedir/Garden.jpg /somedir/Garden.png

Cela fonctionne comme prévu.

Ce que j'essaie de faire, c'est d'exécuter la même commande que ci-dessus en utilisant C #.

J'ai essayé d'utiliser System.Diagnostics.Process, mais aucun fichier foo.png n'a été créé.

J'utilise ce code:

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

Aucune exception n'est levée, mais aucun fichier .png n'est écrit non plus.

Était-ce utile?

La solution

À mon avis, TEST_FILE_DIR contient un espace - vous devez donc le citer.

Essayez ceci:

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

Vous pouvez également indiquer le nom du fichier, y compris son extension, par exemple.

FileName = @"C:\xampp\ImageMagick-6.5.4-Q16\convert.exe"
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top