示例#1
0
        private void ScanButton_Click(object sender, EventArgs e)
        {
            Cursor = Cursors.WaitCursor;
            var python = @"C:\MyProgramFiles\Anaconda3\envs\tf_gpu\python.exe";
            var script = AppDomain.CurrentDomain.BaseDirectory + "\\Script\\DeepFontAPI.py";
            // Accessing the python script
            var psi = new ProcessStartInfo();

            psi.FileName = python;
            // Script Argv
            var picture_path = this.imagePath;

            Console.WriteLine(picture_path);
            psi.Arguments = string.Format("{0} \"{1}\"", script, picture_path);
            // Configuration
            psi.UseShellExecute        = false;
            psi.CreateNoWindow         = true;
            psi.RedirectStandardOutput = true;
            psi.RedirectStandardError  = true;
            // Execute
            var errors  = "";
            var results = "";

            Console.WriteLine("Executing Python Script");
            Console.WriteLine(python);
            Thread loading = new Thread(showLoadingBox);

            loading.Start();
            using (var process = Process.Start(psi))
            {
                errors  = process.StandardError.ReadToEnd();
                results = process.StandardOutput.ReadToEnd();
            }
            LoadingBox.Dismiss();
            Cursor = Cursors.Default;
            Console.WriteLine("Errors : " + errors);
            Console.WriteLine("Results : " + results);
            string[] separator   = { "# " };
            string[] font_result = results.Split(separator, StringSplitOptions.RemoveEmptyEntries);
            string[] font_labels = ParseStringToArray(font_result[1]);
            string[] font_files  = ParseStringToArray(font_result[2]);
            MsgBox.Show(font_labels, inputImageBox.Image, font_files);
        }
示例#2
0
 public static DialogResult Show()
 {
     loadingBox = new LoadingBox();
     loadingBox.ShowDialog();
     return(result);
 }
示例#3
0
 private void showLoadingBox()
 {
     LoadingBox.Show();
 }