如何在Windows窗体中呈现化学反应?

时间:2011-02-17 06:36:07

标签: c# winforms mime chemistry

如何以窗体形式表示化学反应?我正在使用c#语言。可以使用mimetxt.dll来表示数学公式,但化学反应呢?

简而言之,我希望以正确的格式代表胜利表格2H2 + O2 = 2H2O和复杂表格,如:

enter image description here

我怎样才能做到这一点?

5 个答案:

答案 0 :(得分:4)

这不是一个很容易得到好答案的简单问题。

在化学领域工作的人可能知道可以用来绘制这些图表的辅助库。但是你需要希望有专业知识的人存在并注意你的问题。或者,您将不得不自己编写所有代码,并且如果您想要表示任意复杂的图表,这是一项非常重要的任务。

我建议您尝试查找用于绘制图表的商业软件,并询问这些公司是否可以绘制您需要的内容。 Dundas和SoftwareFX等公司值得首先尝试。还可以尝试查看化学工业中使用的商业应用程序,看看是否有其他人提取这些东西,看看你是否可以问他们是如何做到的。

答案 1 :(得分:3)

答案 2 :(得分:1)

我们有一个名为Chem4Word的开源应用程序。通过WPF用户控件,我们以Windows窗体显示结构。

如果您在https://github.com/Chem4Word/Version3的GitHub存储库中查看,您会发现一个Windows窗体应用程序,我们将其用于初始测试,该程序可以显示molfile中的结构。 打开主要的Chem4Word解决方案,有一个应用程序存在于其中的测试工具文件夹,将其设置为要与之一起玩的启动项目。

答案 3 :(得分:0)

这可能为时尚晚,但我一直在使用OpenBabel取得巨大成功。我已经能够将Canonical SMILES,SDF文件等转换为PNG和SVG格式。 (无耻插件)可以在我的博客上找到使用IPython笔记本的example动作。它在C ++中,但也有Python绑定。

答案 4 :(得分:0)

有些商业产品可以满足您的要求。但是,如果您正在寻找开源解决方案,就像大多数化学家一样,这里有一些基于我自己经验的建议。

由于您使用的是.NET,因此GGA软件​​中的Indigo工具包是一个不错的选择。 http://www.ggasoftware.com/opensource/indigo 它有一个非常易于阅读的API文档,其中包含大量示例。 Indigo的渲染模块可以渲染各种文件格式(SMILES,mol,sdf,rdf,rxn等等)的分子和反应图像,质量非常好。我相信它可以满足您对化学反应的大部分要求。

我自己一直在使用OpenBabel。它也是一种非常好的化学信息学开发工具。它是用C ++编写的,也有.NET绑定。一些高级函数不包含在.NET版本的库中,但我很确定包含渲染模块。图片的质量与Indigo一样好,但API文档不是那么用户友好。此外,您需要先安装整个软件包,然后才能使用它。如果您使用ASP.NET开发Webform应用程序,则可能在访问服务器端的本地代码时遇到授权问题。我不得不说,这是 * 的痛苦。

Chemaxon软件也可以为您完成渲染工作。它是商业软件,但一些基本功能,如呈现反应是免费的。它基于Java但具有.NET绑定。 API文档没问题。当然,您需要在您的计算机上安装java。