我想创建一个使用 Quil 生成 jpg 图像的命令行应用程序。我计划编写几个通用图像处理函数来混合和匹配(一些 fn 绘制形状和一些操纵像素阵列)。
我想做的一个简单示例是创建一个绘制圆的函数,然后创建一个将抖动算法应用于像素阵列的第二个函数。
(defn draw-circle [x y] ...) ;; e.g. internally uses Quil draw functions.
(defn apply-dither [pixels] ...) ;; e.g. internally uses Quil color functions on the pixels array.
(defn draw []
(draw-circle 100 100)
(apply-dither (pixels))
...)
(defsketch sketch
:draw draw)
让我有点悲伤的是所有的 Quil 函数似乎只在一个草图宏中运行。这意味着我自己的函数在内部依次使用 Quil 函数不能被直接调用(必须从由草图宏触发的绘图函数调用),这使得从 repl 单独调试和运行它们变得更加困难/不可能。
我如何去创建和调试这样的通用函数?我是代表我坚持使用草图调用功能还是有其他方法?
Quil 也有可能不是我项目的正确工具。我正在考虑直接使用 java / 处理类。
我的开发环境是 Emacs + Cider。
谢谢