2

Expr在 C# 中有一个对象,它代表Wolfram Mathematica的类型 - 它可以包含一个数字、一个数学表达式、一个声音、一个图像或其他。

我一直在使用我的Wolfram Mathemtica版本中包含的教程来通过 .NET 调用Mathematica,我想从我的输出中创建一个图像。例如,绘制一个函数或很好地绘制一个表达式。

我有这个代码:

public System.Drawing.Image ToImage(int width = 300, int height = 300)
{
    return link.EvaluateToImage(this.e, width, height);
}

link我的在哪里IKernelLinkthis.e是我的Expr

之后,我使用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
显然,这种行为是错误的,任何人都可以帮助我吗?


注意:当它是一个图形对象时,它会生成一个单独的帧文件Expr,即Plot函数的评估。

4

1 回答 1

2

我认为您应该使用 Graphics 数组将一组图像从 Mathematica 发送到 .NET,即:

.NET/Link MathKernel.Graphics 属性

这里有一个使用此代码的示例。

于 2012-05-23T07:25:43.237 回答