Exec imagemagick convertir a través de C #
-
06-07-2019 - |
Pregunta
Cuando abro una ventana de comandos en Windows y uso el comando de conversión de imagemagick:
convertir /somedir/Garden.jpg /somedir/Garden.png
Funciona como se esperaba.
Lo que intento hacer es ejecutar el mismo comando que el anterior usando C #.
Intenté usar System.Diagnostics.Process, sin embargo, no se creó foo.png.
Estoy 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();
No se produce ninguna excepción, pero tampoco se escribe .png.
Solución
Supongo que TEST_FILE_DIR
contiene un espacio, por lo que debe citarlo.
Prueba esto:
Arguments = string.Format("\"{0}Garden.jpg\" \"{1}Garden.png\"",
TEST_FILE_DIR,
TEST_FILE_DIR)
Es posible que también desee dar el nombre del archivo, incluida la extensión, por ejemplo,
FileName = @"C:\xampp\ImageMagick-6.5.4-Q16\convert.exe"
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow