Exec imagemagick converti via C #
-
06-07-2019 - |
Domanda
Quando apro una finestra di comando in Windows e utilizzo il comando di conversione imagemagick:
converti /somedir/Garden.jpg /somedir/Garden.png
Funziona come previsto.
Quello che sto cercando di fare è eseguire lo stesso comando sopra usando C #.
Ho provato a utilizzare System.Diagnostics.Process, tuttavia, non viene creato nessun foo.png.
Sto usando questo codice:
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();
Non viene generata alcuna eccezione, ma non viene nemmeno scritto .png.
Soluzione
La mia ipotesi è che TEST_FILE_DIR
contenga uno spazio, quindi devi citarlo.
Prova questo:
Arguments = string.Format("\"{0}Garden.jpg\" \"{1}Garden.png\"",
TEST_FILE_DIR,
TEST_FILE_DIR)
Potresti anche voler dare il nome del file inclusa l'estensione, ad esempio
FileName = @"C:\xampp\ImageMagick-6.5.4-Q16\convert.exe"
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow