c# - Wolfram .NET 连接器 EvaluateToImage 给出动画

标签 c# wolfram-mathematica

我在 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 是我的 IKernelLinkthis.e 是我的 Expr
< br/> 之后,我使用 image.Save(@"C:\file.png")

问题是,当我打开表单并执行 form.pictureBox.Image = LoadImage(@"C:\file.png") 或使用适当的程序打开图像时,它会给出我的三帧动画。我会上传到这里:

enter image description here

此外,它没有给我完整的输出,即 {{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/

相关文章:

wolfram-mathematica - 如何从一组点开始绘制 3d 图形作为地面 XY 基础

c# - 当属性值更改时向 wpf Controller 添加事件

c# - Java 的 String.getByte() 与 C#

sum - Mathematica : Sum with more than 250 summands in table leads to slow computation

image-processing - Mathematica 的 TextRecognize 达不到标准

c++ - 在 Mathematica 中绘制来自 c++ 的二维点阵数据

c# - 在使用 XAMLC 时,在 FontSize 中使用静态标记扩展会导致无效转换

c# - dotnet restore 无法解析 macOS 上的 Telerik.UI.for.AspNet

c# - 在不同线程中处理列表项

wolfram-mathematica - 强制图像在 Mathematica 中以实际尺寸显示