debugging - 如何在方案中为 gimp 调试 script-fu 脚本?
问题描述
我尝试使用 script-fu 方案为 gimp 制作一些脚本。
当然,作为初学者,有很多错误和误解。
现在我正在寻找一种调试这些脚本的方法。
我找到了(gimp-message),但结果没有出现。我不知道是否有可能将调试消息打印到我可以检查它们的任何地方。
生成充满文本的新图像可能会起作用 ;-) 但看起来有点矫枉过正。
有哪些方法可以在 gimp 中调试脚本?
解决方案
可能有更好的方法,但是,我这样做的方法是:
- 打开脚本 fu 控制台(过滤器 -> 脚本 Fu -> 控制台)
- 编辑文件(例如:/Users/jamesanderson/code/scheme/gimp/learn1.scm
- 类型:(加载“/Users/jamesanderson/code/scheme/gimp/learn1.scm”)进入控制台
- 点击进入
- 编辑文件以进行更改
- 键盘向上箭头(无需键入即可再次获取加载函数调用)
- 点击进入
请注意,这是我基于评论的答案的扩展。当超出上述简单的概念证明脚本时,重要的是要知道该控制台在调用之间保留状态。例如,如果我们运行这个方案脚本:
(define jea-test-img-id nil)
(define (jea-find-test-img)
(car (gimp-image-list)))
然后转到控制台并键入:
jea-test-img-id
结果是:
> jea-test-img-id
()
这很好,脚本根据需要启动了变量,我们看到了结果。所以 var 在脚本中设置,控制台保留脚本的状态变化。现在让我们更改控制台中的状态:
(set! jea-test-img-id (jea-find-test-img))
我们调用了一个便利函数,它获取活动图像列表中的第一个图像 ID,并将其存储在我们之前声明的变量中(当时为 nil)。现在让我们再次检查这个问题:
jea-test-img-id
然后结果:
> jea-test-img-id
1
如此高的水平:当你在编写脚本时,创建工作变量来保存你想要处理的东西,比如图像、像素、宽度等,然后一点一点地让函数工作。最后,一旦你有了简短的片段,你就可以将它折叠成一个干净的函数。
推荐阅读
- python - 我是 python 的初学者,我也刚刚熟悉了 cython。我在 Windows 64 位上使用 python3.7
- python - 使用子进程在 Flask 中流式传输数据
- html - 无法使用 HTML 的视频标签在页面上显示视频
- wordpress - 如何在 wordpress 中复制高级自定义字段字段组?
- javascript - 笑话:如何测试回调函数内部的东西?
- django - Django 迁移没有为 Inlinepanel id 设置默认值
- canvas - 什么是未显示的画布?
- django - 获取列表大小的“最佳”方法
- c# - 将聊天机器人连接到 cosmos db 后出现错误 500
- visual-studio-code - 是否可以将 Visual Studio 模拟器与 vscode 一起使用