如何在 lisp 函数中将 .png 文件作为参数传递
how to pass a .png file as parameter in clisp function
由于我不熟悉 lisp 和它提供的整个 vecto 包,所以我有这个基本的疑问。
我正在使用函数 radiant-lambda
(defun radiant-lambda (file)
(with-canvas (:width 80 :height 80)
(let ((font (get-font "times.ttf"))
(step (/ pi 7)))
(set-font font 40)
(translate 45 45)
(draw-centered-string 0 -10 #(#x3BB))
(set-rgb-stroke 1 0 0)
(centered-circle-path 0 0 35)
(stroke)
(set-rgba-stroke 0 0 1.0 0.5)
(set-line-width 4)
(dotimes (i 14)
(with-graphics-state
(rotate (* i step))
(move-to 30 0)
(line-to 40 0)
(stroke)))
(save-png file))))
那么我该如何调用这个函数呢?
“一般 lisp”答案是您调用这样的函数:
(radiant-lambda "/path/to/my/file.png")
并在 REPL 提示符下。
由于我不熟悉 lisp 和它提供的整个 vecto 包,所以我有这个基本的疑问。
我正在使用函数 radiant-lambda
(defun radiant-lambda (file)
(with-canvas (:width 80 :height 80)
(let ((font (get-font "times.ttf"))
(step (/ pi 7)))
(set-font font 40)
(translate 45 45)
(draw-centered-string 0 -10 #(#x3BB))
(set-rgb-stroke 1 0 0)
(centered-circle-path 0 0 35)
(stroke)
(set-rgba-stroke 0 0 1.0 0.5)
(set-line-width 4)
(dotimes (i 14)
(with-graphics-state
(rotate (* i step))
(move-to 30 0)
(line-to 40 0)
(stroke)))
(save-png file))))
那么我该如何调用这个函数呢?
“一般 lisp”答案是您调用这样的函数:
(radiant-lambda "/path/to/my/file.png")
并在 REPL 提示符下。