我正在寻找一个能为我提供方程式编辑器功能的c#库。我不是在寻找数学库来评估数学表达式。
有什么建议吗?
答案 0 :(得分:6)
我建议使用my fork of WPF-Math。我已经联系了原始的WPF-Math作者,现在正式维护现代框架库。实际上,它的状态非常好。
这是一个重要但不完整的解决方案,因为WPF-Math只是一个渲染,而不是完整的公式编辑器。
答案 1 :(得分:4)
存在一些选择:
wpf-math这是一个将基于数学的TeX呈现给WFP的API,并且有一些有限的代码可以使用Expression
并将其转换为TeX。
另一个选择是使用MS Word,它具有一些非常高级的功能,可以将常规数学公式作为简单字符串,并以良好的格式呈现它们。这是一些与该功能相关的代码。
public class FormulaImageConverter: IDisposable
{
private Guid _guid;
private Application _wordApp;
private Document _doc;
private Range _range;
private string _saveName;
private string _extractPath;
public FormulaImageConverter(Application wordApp)
{
_wordApp = wordApp;
_guid = Guid.NewGuid();
string guidToString = _guid.ToString("N");
string saveNameBase = System.IO.Path.Combine(System.IO.Path.GetTempPath(), guidToString);
_saveName = saveNameBase + ".html";
_extractPath = saveNameBase + @"_files\image002.gif";
_wordApp.Visible = false;
_doc = _wordApp.Documents.Add();
_range = _doc.Range();
_range.Text = "5";
_doc.OMaths.Add(_range);
}
public byte[] ConvertFormulaToImage(string eq)
{
_range.Text = eq;
_doc.OMaths.BuildUp();
_doc.SaveAs(_saveName, WdSaveFormat.wdFormatHTML,Type.Missing,Type.Missing,false,Type.Missing,null,false);
return System.IO.File.ReadAllBytes(_extractPath);
}
public void Dispose()
{
_range = null;
_doc = null;
_wordApp.Documents.Close(WdSaveOptions.wdDoNotSaveChanges);
((_Application)_wordApp).Quit(false);
_wordApp = null;
System.IO.File.Delete(_saveName);
for (int i = 0; i < 2; i++)
{
GC.Collect();
GC.WaitForPendingFinalizers();
}
}
}
答案 2 :(得分:2)
答案 3 :(得分:0)
另一方面,您碰巧检查了这个http://www.microsoft.com/downloads/en/details.aspx?FamilyID=9caca722-5235-401c-8d3f-9e242b794c3a
也许您可以尝试使用COM在C#中使用它。就个人而言,我没有尝试过,但我想我可以分享一下我的观点