【发布时间】:2021-08-05 00:32:49
【问题描述】:
我有一个新项目,但我真的不知道从哪里开始,除了我认为 GNAT Ada 会很好。我在三年前自学了 Ada,并使用 GNAT 管理了一些静态图形,但这次不同。
请多多包涵,我只需要一两个指向我可能开始的地方的指针,我不是在寻求解决方案。我的历史是使用现在大部分已经过时的后端语言,所以图形仍然是一个挑战。
所以,项目:
使用静态背景图像(照片) - 以及可移动的线条,线条末端之间的某个位置带有可调节光标。我需要旋转线条并调整长度,以及在屏幕上移动它并沿线条滑动光标;我计算行中每个元素的位置没有问题。一旦到位,我需要报告光标相对于行总长度的位置。我可能可以用我已经知道的东西来处理报告,但我不知道如何创建一个可以在另一个图像上滑动的图形。在过去,我未能在 GNAT Ada 中检测到鼠标事件,我确信我需要掌握这一点 - 事实上,如果可以的话,我可能会设法控制线路,但在现有图像上进行操作超出了我。
如果我为此选择 GNAT Ada 是错误的,请提出替代方案。
我在 Stackoverflow 中查找过类似的东西,但只找到了 Blackberry 和 Java 的答案,这两者似乎都不相关。
作为背景,这将是一种从照片中测量昆虫身体特征的相对长度的有用方法,有望为密切相关的物种建立一些明确的识别指南。
【问题讨论】:
-
Ada 是一种通用语言,因此您可以用它做任何事情。但是,根据您的描述,您将需要使用 GtkAda 或 Gnoga 框架来做您想做的事情。
-
除了已经提供的库选项之外,我想说 ASFML 非常适合这个项目:mgrojo.github.io/ASFML
-
您可以使用开源 OpenGL 绑定,例如 OpenGLAda flyx.github.io/OpenGLAda 或 GLOBE_3D globe3d.sourceforge.io 。您可以在后一个站点上找到与您打算做的类似的生物信息学应用程序的屏幕截图。 OpenGL 可以在 GtkAda 或 GWindows 等窗口系统中运行。
-
还可以考虑
ImageJ,其中包括feature analysis,并与包括Ada在内的命令行工具链很好地集成。