【问题标题】:How to render chemical reactions in Windows Forms? [closed]如何在 Windows 窗体中呈现化学反应? [关闭]
【发布时间】:2011-06-28 21:19:48
【问题描述】:

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

简而言之,我想以正确的格式代表获胜表格2H<sub>2</sub> + O<sub>2</sub> = 2H<sub>2</sub>O 和复杂的表格,例如:

我怎样才能做到这一点?

【问题讨论】:

  • 有一些商业 ActiveX 控件用于此目的,请尝试谷歌搜索“化学结构图 ActiveX”。
  • 感谢您的指导,但我没有发现这样的activeX存在。请帮忙
  • 您显示的图像不是化学反应。反应是像第一个例子一样的方程式。您可能会找到一个支持显示化学反应所需的下标渲染等的库。您非常不太可能找到可以显示配位复合体模拟模型的库。
  • 尝试将主要数据表示作为关键字“结构数据格式(SDF, Molfile)”(二维布局)和"SMILES"(零维)。
  • 仍然无法解决这个问题。请帮帮我

标签: c# winforms mime chemistry


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

    由于您使用的是 .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。

    【讨论】:

    【解决方案3】:

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

    【讨论】:

      【解决方案4】:

      【讨论】:

        【解决方案5】:

        这不是那种很可能得到很好答案的简单问题。

        在化学领域工作的人可能知道可用于绘制此类图表的辅助库。但是您需要希望存在具有该专业知识的人并注意到您的问题。或者,您将不得不自己编写所有代码,并且考虑到您想要表示任意复杂的图表,这是一项不平凡的任务。

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

        【讨论】:

        • 感谢正确的方向。自从过去两天以来,我一直在寻找这个。让我试试你的指导
        • 您也可以给 yWorks (yworks.com/en/index.html) 打个电话,看看他们的软件是否可以满足您的需求(根据文档,它能够绘制“生化反应网络”。我不假装知道这意味着什么:)
        • 非常感谢。但我找到了基于 Letex 的 MimeText.dll 。那么 Mimetext 也会支持化学结构图吗?
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-07
        • 1970-01-01
        相关资源
        最近更新 更多