独自站立" .exe" matlab文件不保存图像

时间:2018-02-05 09:52:47

标签: c# matlab

我试图创建一个" .exe"将读取某种数据(对于已知路径)的文件,并将其绘制一次为" bplot"另一次是"直方图"。

当我从编辑器运行代码时,代码工作得很好,甚至在我做了一个" .exe"文件。当我尝试从" C#"运行它时,问题就开始了。代码使用命令" Process.Start(@" my_path.exe")"。它似乎运行代码,我可以看到制作的数字,但它不会保存图片。

我的matlab代码是:

clear
clc
P = csvread('my_path\test_csv.csv');
SP = bplot(P);
pause (3);
saveas(figure(1),[pwd '\picture1.jpeg']);
pause (3)
B = csvread('my_path\test2_csv.csv');
histogram(B);
pause (3)
saveas(figure(1),[pwd '\picture2.jpeg']);
pause (3)
close
clear
clc

" bplot"是我下载的外部函数。 任何想法如何以其他方式保存它,所以当我从C#代码调用它时,独立应用程序将保存图像?

1 个答案:

答案 0 :(得分:0)

尝试使用ProcessStartInfo参数的语法(请参阅here),而不是直接使用文件路径的语法。

确实如果没有设置ProcessStartInfo.WorkingDirectory,它将被视为%SYSTEMROOT%\System32(您没有普通用户的写访问权)

 var startInfo = new ProcessStartInfo(@"my_path.exe");
 startInfo.WorkingDirectory= .... you exe dir or something else....;

 Process.Start(startInfo);