如何在方案中调试gimp的script-fu脚本?

2024-03-11

我尝试使用 script-fu、scheme 为 gimp 制作一些脚本。

当然,作为一个初学者,会有很多错误和误解。

现在我正在寻找一种调试这些脚本的方法。

我找到了(gimp-message),但结果没有显示。我不知道是否有可能将调试消息打印到我可以检查的任何地方。

生成充满文本的新图像可能会起作用;-),但看起来有点矫枉过正。

在 gimp 中调试脚本有哪些方法?


可能有更好的方法,但是,我的方法是:

  1. 打开 script fu 控制台(过滤器 -> Script Fu -> 控制台)
  2. 编辑文件(例如:/Users/jamesanderson/code/scheme/gimp/learn1.scm
  3. 输入:(加载“/Users/jamesanderson/code/scheme/gimp/learn1.scm”)到控制台
  4. 按回车键
  5. 编辑文件进行更改
  6. 键盘向上箭头(无需键入即可再次调用加载函数)
  7. 按回车键

请注意,这是我根据评论回答的扩展。当超越上述简单的概念验证脚本时,重要的是要知道控制台在调用之间保留状态。例如,如果我们运行这个方案脚本:

(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

如此高的水平:当您处理脚本时,创建工作变量来保存您想要处理的内容,例如图像、像素、宽度等,然后逐个让函数工作。最后,一旦获得了简短的片段,您就可以将其折叠成一个干净的函数。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在方案中调试gimp的script-fu脚本? 的相关文章

随机推荐

  • 代码不适用于 matlab 中的图像处理

    我想在matlab中计算这个公式 m n d size img1 matrix1 sum abs img1 img2 a matrix1 m n b a 100 其中img1 img2是尺寸为512 512 3的两张图像 目标是获得单个数值
  • Linux 中断与轮询

    我正在开发一个带有 DSP 和 ARM 的系统 ARM上有一个linux操作系统 我有一个 DSP 向 ARM Linux 发送数据 在 Linux 中 有一个内核模块读取从 DSP 接收到的数据 内核模块被唤醒以读取数据 使用 DSP 和
  • Hadoop 减少多种输入格式

    我在 HDFS 中有两个数据格式不同的文件 如果我需要减少两个数据文件 那么作业设置会是什么样子 例如想象一下常见的字数统计问题 在一个文件中使用空格作为世界分隔符 在另一个文件中使用下划线 在我的方法中 我需要针对各种文件格式使用不同的映
  • 谷歌地图用多边形模拟折线

    几年前 我编写了一些代码 突出显示了 Google 地图上的一条路径 其中用户输入了宽度 用户确定突出显示的路径有多宽 以米为单位 这样他们就可以看到他们所覆盖的地面 例如草坪施肥等 我计算了距一个点的距离 并使用 Google 地图com
  • “你的意思?” Lucene.net 中的功能

    有人可以告诉我如何在 Lucene net 中实现 您是说 功能吗 Thanks 你应该调查一下拼写检查器 https svn apache org repos asf lucene lucene net trunk C 23 contri
  • PHP - 电子邮件验证[重复]

    这个问题在这里已经有答案了 可能的重复 电子邮件地址验证 https stackoverflow com questions 1025466 email address validation 你好 我有这个功能来验证电子邮件地址 funct
  • 仅当我省略 usePublicVapidKey 方法时,Firebase Cloud Messaging 的 getToken() 才有效,为什么?

    我在实施 Firebase for Firebase Cloud Messaging FCM 时遇到具体问题 正如您在下面的代码中看到的 messaging usePublicVapidKey
  • Android:无法转换为 java.lang.CharSequence

    我不知道我哪里出了问题 我试图在 recyclerView 中列出食谱的成分 但我无法让 onBindViewHolder 正常工作 无论我尝试过什么 下面是适配器代码以及 xml Recipe class 本质上我需要将 Recipe 类
  • 了解内核-前端通信——为什么我的前端冻结?

    EDIT 只需确认您是否可以重现此内容就会很有用 只需一台计算机即可尝试此操作 无需远程连接 Update似乎其他人无法在 Mac 或 Win7 上重现此问题 因此它要么是 WinXP 特定的 要么是我的机器特定的 此时我要放弃了 最好有一
  • 查找块中游标或表列的数据类型

    可以找出块内游标或变量的列的数据类型without使用系统表 虽然我知道我可以使用系统表来查找此信息 但速度会慢很多 就像是 declare my column data type varchar2 30 begin my column d
  • 如何在Windows 10下卸载Docker Machine

    我没有找到任何从 Windows 10 Edu 中删除 Docker Machine 的解决方案 但 Windows 上的 Docker Machine 文档非常少 我是 Powershell 的新手 所以也许有一个我没有找到的简单命令 g
  • oci_bind_by_name 是什么?

    what is oci bind by name http php net manual en function oci bind by name php为了 我读了 php 手册 但什么也看不懂 请有人向我解释一下 看这个例子 name
  • mongodb中_id的长度有限制吗

    背景 我已经正在接管一个应用程序 原始工程师正在离开 该应用程序充当一些相对较慢的后端服务的缓存层 因为它是 RESTful 风格的 URL 所以每个 URL 都是唯一的 应用程序使用MongoDb作为缓存的存储 并使用哈希值作为缓存 虽然
  • .pgpass 用于 Docker 化环境中的 PostgreSQL 复制

    我尝试使用 Docker 和 bash 脚本 我使用 Coreos 设置 PostgreSQL 从属服务器 我还没有找到任何方法来提供有效的 pgpass 我知道我可以创建一个 PGPASSWORD 环境变量 但出于安全原因不想这样做 如此
  • 有人可以向我指出一个使用最新路由系统的 ember.js 项目吗?如果它也使用 ember-data 则奖励积分

    我正在使用 ember js 制作我的第一个项目 到目前为止尚未找到任何使用新路由系统的示例项目 ember 文档中的所有示例都使用旧的路由 另外 如果有人知道的话 我很想看到一个使用 Ember Data 的项目示例 Thanks 您可以
  • 在 C# 中更改选项卡页时,如何将面板设置为始终位于顶部?

    我在 TabController 中有两个选项卡的程序 我还有一个我想始终放在前面的面板 不管我在哪个标签页 我尝试将面板设置为BringToFront 但是当我更改标签页时这似乎不起作用 有什么建议如何解决这个问题吗 如果面板是包含通过
  • 如何在 MySQL 中滞后列?

    考虑下表 SELECT id value FROM table ORDER BY id ASC id value 12 158 15 346 27 334 84 378 85 546 The id列自动递增但包含间隙 这value列是数字
  • CSS 嵌套 Div 具有绝对位置?

    这是一个更为复杂的案例的再现 div style width 200px background color red AS HDSKLAJD KLASJD KLASJ DKLASJDKL JASKLD JKLAS JDKLASD AS HDS
  • 如何在连接到 lein swank 的 ClojureBox (EmacsW32) REPL 中抑制 ^M 字符

    我正在从我的服务器连接到一个 swank 服务器ClojureBox http clojure billhugh com安装 IE lein swank从我的项目目录然后M x slime connect来自 EmacsW32 然而 当我这
  • 如何在方案中调试gimp的script-fu脚本?

    我尝试使用 script fu scheme 为 gimp 制作一些脚本 当然 作为一个初学者 会有很多错误和误解 现在我正在寻找一种调试这些脚本的方法 我找到了 gimp message 但结果没有显示 我不知道是否有可能将调试消息打印到