【发布时间】:2009-01-16 14:23:57
【问题描述】:
我正在使用带有 CLISP 和 Slime 的 Emacs,并且希望能够在屏幕上绘制图片。我特别想画图表,但任何能让我画出基本形状并操纵它们的东西都可以让我开始。
【问题讨论】:
标签: windows graphics common-lisp slime
我正在使用带有 CLISP 和 Slime 的 Emacs,并且希望能够在屏幕上绘制图片。我特别想画图表,但任何能让我画出基本形状并操纵它们的东西都可以让我开始。
【问题讨论】:
标签: windows graphics common-lisp slime
道格是对的; CAPI 可以正常工作。您可以尝试的其他方法:
cltk:http://www.cliki.net/Lisp-Tk
我知道 Allegro 也有一些用于 Windows 编程的东西,但我从未尝试过。
也可以使用 cells-gtk:http://common-lisp.net/project/cells-gtk/
再次,我只能告诉你它存在,但不能告诉你它有多糟糕,或者它是否真的有效......
我也不能评论它的质量 http://www.cliki.net/GTK%20binding
但这主要是可用的。
Corman Lisp 可能也为 Windows 编程提供了一些东西。
无论如何,Windows 上的选择相对较少。您可能对 CAPI 最有信心,它用于 Windows、Linux、MacOS X 和相当多的大型 unice 上的 LispWorks IDE...
问候
【讨论】:
我想我已经找到了自己的答案。 Clojure 似乎拥有我想要的一切,因为我现在可以在 LISP 中本地使用所有 Java GUI 项。它是与我使用的 Common-Lisp 不同的 LISP 方言,但似乎有很多社区支持,并且通过 SLIME 或通过 Inferior-Lisp 解释器与我的 Windows 安装的 Emacs 集成。到目前为止,我印象非常深刻。
哦,代码示例:
(. javax.swing.JOptionPane (showMessageDialog nil "Hello World"))
猜猜这是做什么的? :)
Bill Clementson 的博客有很多关于 Clojure 的内容,包括很多关于安装它的有用帖子。见这里:his posts on Clojure
【讨论】:
您可以从 CLISP 切换到 free LispWorks Personal Edition 并使用 CAPI 图形端口绘图 API。
或者您可以使用 Lisp 的 Foreign Function Interface 并使用适用于您的操作系统的图形工具包之一。
【讨论】:
要滚动您自己的(如您所说,基本形状),请尝试Lispbuilder-SDL 或其中一个 cl-cairo FFI(不过我猜测后者适用于 MS Windows)。
【讨论】:
我知道这是一篇旧帖子,但这里的信息是为像我这样发现此线程正在寻找相同内容的其他人提供的。
这个用于通用 lisp 中的 tk 绑定的库似乎运行良好。 http://www.peter-herth.de/ltk/
【讨论】:
Clojure 是一个出色的 Lisp,而 Swing 是一个可靠的(如果不是特别令人兴奋的)窗口工具包。如果您想做更高级的图形和/或涉足游戏编程,您可能需要查看Slick,这是一个通用图形/游戏库,位于 Swing 之上,可让您访问 OpenGL 和许多其他东西。
我发现 Clojure/Slick 组合是进行探索性图形编程的绝佳方式,因为您可以直接从 REPL 与图形窗口进行交互。
【讨论】:
CLISP 用户可能会发现以下内容对他们的图形应用程序很有用:
cl-vectors 是一个纯 Common Lisp 库来创建、转换和 渲染抗锯齿矢量路径。 它可以安装使用 ASDF-安装。 http://projects.tuxee.net/cl-vectors/
Vecto 是一个简化的接口 强大的 CL-VECTORS 矢量 光栅化库....结果 可以保存为 PNG ... 由于 Vecto 并且所有支持库都是 完全用 Common Lisp 编写, 不依赖外部非 Lisp 图书馆,它应该在任何 通用 Lisp 环境。 Vecto 是 在类似 BSD 的许可证下可用。 当前版本为 1.4.3,已发布 2009 年 8 月 26 日。 http://www.xach.com/lisp/vecto/
【讨论】: