我在 C# 中有一个 Expr
对象,它代表 Wolfram Mathematica
的类型 - 它可以保存数字、数学表达式、声音、图像或其他.
我一直在使用 Wolfram Mathematica
版本中包含的教程通过 .NET 调用 Mathematica
,并且我想从我的输出创建一个图像。例如,绘制函数或漂亮地绘制表达式。
我有这个代码:
public System.Drawing.Image ToImage(int width = 300, int height = 300)
{
return link.EvaluateToImage(this.e, width, height);
}
其中 link
是我的 IKernelLink
,this.e
是我的 Expr
。
< br/>
之后,我使用 image.Save(@"C:\file.png")
问题是,当我打开表单并执行 form.pictureBox.Image = LoadImage(@"C:\file.png")
或使用适当的程序打开图像时,它会给出我的三帧动画。我会上传到这里:
此外,它没有给我完整的输出,即 {{x -> -(-3)^(1/3)}, {x ->
3^(1/3)}, {x -> (-1)^(2/3)*3^(1/3)}}
(使用 EvaluateToInputForm
生成)< br/>
显然,这种行为是错误的,有人可以帮助我吗?
注意:当 Expr
是图形对象时,它会生成单个帧文件,即 Plot
函数的评估。
最佳答案
我认为您应该使用 Graphics 数组将图像集合从 Mathematica 发送到 .NET,即:
.NET/Link MathKernel.Graphics Property
有一个使用此代码的示例 here .
关于c# - Wolfram .NET 连接器 EvaluateToImage 给出动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10704379/