问题标签 [script-fu]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
507 浏览

gimp - 重复旋转 - 在导出到 png 时增加图像尺寸

我希望用户画一些东西。我将多次旋转该图像,并将每个文件保存到一个文件夹中。模板是img<degree>.png,例如img24.png旋转 24 度的原始图像。就像使用Rotate tool,将其设置为 24 度并以默认设置导出。

问题是每次我旋转并导出为 png 文件都变得越来越大。当原始文件为 100x100 & 380B 时,第 9 个文件为 413x412 2,47KB。我希望图像保持相同的尺寸(上例中为 100x100)。

0 投票
1 回答
1818 浏览

scheme - 如何使用 script-fu/scheme 在 gimp 图像上设置图层透明填充

我正在尝试学习 Scheme / Script-Fu 来制作一些 Gimp 脚本。当我在打开的图像上创建一个新图层时,它会添加黑色背景颜色,即使我 (gimp-drawable-fill layer TRANSPARENT-FILL)随后调用并将新图层添加到图像中。

新图层出现在 Gimp 中,但总是用黑色填充。

谁能指出这里的问题是什么或者我必须如何为图层设置透明背景?我找不到任何与透明图层相关的网站。

谢谢。

0 投票
1 回答
715 浏览

scheme - GiMP (Scheme) Script-fu 错误“非法函数”

我正忙于 Script-fu 并不断收到“错误(:1)非法功能”。我不是 Scheme/Lisp 专家,只是想自动化一些摄影任务。文档很少——要么 GiMP 只写了他们自己的内部操作,而不是 Script-fu 中的 Scheme 语法,要么我找到了 GiMP v1.0 的“提示”(即过时的它们没用)。

我查看了 GiMP 提供的一堆脚本,试图了解更多并弄清楚这一点,但无济于事。我在这里寻求帮助以消除错误,而不是缩进布局或 Python-fu 存在的事实等。

有了这个,代码(简化为功能框架):

0 投票
1 回答
2332 浏览

colors - 从 GIMP 中的选择中删除透明像素(Script-Fu)

我正在为 GIMP 编写脚本,但我一直坚持这一点。

我想从用户选择中取消选择透明像素。

GIMP 不采用 RGBA 值,所以我不能只写:

有一个错误,因为颜色列表不能有 4 个元素。

如何从当前选择中减去 Alpha 通道透明度?可以使用 GIMP UI(在按颜色工具选择中选择减法开关)。我想用脚本达到同样的效果。

0 投票
1 回答
258 浏览

selection - 如何在 GIMP 脚本中从两侧缩小选择?

我需要在我的 GIMP 脚本中缩小选择范围。

默认缩小选择命令按给定大小值(以像素为单位)缩小整个选择。

这会将选择缩小 2 个像素。

但我不想缩小整个选择。我只想从左侧和右侧删除选择,保持垂直选择不变。

这需要从选择蒙版中移除每侧(左侧和右侧)最远的像素。

我怎样才能做到这一点?


值“3px”的脚本所需效果:

https://media.giphy.com/media/l3q2v50vsk8Ze8Ldu/source.gif

如您所见,它的左右两侧都是矩形,用户需要进行这样的选择。

所以我认为一个好的方法是获取选择蒙版的左右 posX 并用图层的高度和我们想要在选择蒙版的每一侧切断的像素的宽度来切割矩形。

我想使用 Script-Fu 而不是 Python-Fu,因为我不喜欢对用户有额外的要求。

0 投票
1 回答
354 浏览

image-processing - GIMP 如何使用 python 控制台(或制作插件)在图像之间导航

注意:这仅适用于 Windows,因为在 Windows 上为(编辑:GDK)应用程序使用标准的免费自动化工具存在固有问题。如果有比 AutoIt 在 Windows 上使用自动化 GDK 更好的方法,请告诉我)

我正在尝试主要使用 AutoIT 自动化 GIMP 中的一些任务,这很简单,但是,从打开的图像移动到打开的图像是有问题的。到目前为止,我有两种方法(使用 AutoIt):自动单击箭头(在单窗口模式下)从图像滚动到图像,以及 2)使用左右箭头键来做同样的事情。

两种方法都存在问题。对于第一种方法,在 AutoIt 脚本完成处理之前,我无法对我的计算机执行任何其他操作,因为它占用了我的鼠标。我们每次都在谈论 100 张左右的图像。

对于它需要的第二种方法,我不知道正确的词,但顶部的“缩略图栏”,缩略图栏是“活动的”,否则使用箭头键不起作用。您可以通过单击其中的图像使其处于活动状态,一次或两次取决于状态,但是我必须做各种体操才能知道我应该使用哪个实际图像才能继续。

这让我得出结论,最好的解决方案是使用某种编程方式,在 Python 或 Scheme 插件中(或一两个简单的命令,我可以让 AutoIt 简单地粘贴到控制台中),让我可以非常快速地在图像之间移动可靠,不突兀,简单的方法。

先感谢您。开发

0 投票
1 回答
1627 浏览

console - GIMP 批量编辑 (Script-fu/Python-fu)

我有大约 500 张图像,我想批量编辑它们,我需要将它们全部调整为 190x120 尺寸,然后位置稍高(比如 10 像素)。并出口。我也希望他们都保留他们的初始名字。

基本上我有一个框架,我想加载图像(在它下面的图层上)然后缩小它们的大小(高于尺寸)稍微向上移动并用框架导出每个单独的图像,以便它保留它的名称。

我可以在 GIMP 控制台(script-fu 或 Python-fu)中使用什么命令?或者我可以使用什么其他方法来实现结果而不单独编辑每个图像?

提前致谢!

0 投票
1 回答
555 浏览

scheme - 通过 Script-Fu 将数组传递给 GIMP 模块

最小的工作示例

我正在尝试使用Scheme Script-Fu interface将整数数组传递给 GIMP 插件。我有一个名为main.c以下内​​容的源代码文件:

我将文件编译并安装为 GIMP 插件,如下所示:

我在 Debian 9 机器上执行此操作。当我尝试使用 Script-Fu 界面运行插件时:

通过 Script-Fu 调用插件

创建了一个名为的文件mylog.log,其中包含以下内容:

而以下是预期的内容:

真实世界的版本

我正在尝试使用Scheme Script-Fu interface使用gimp-plugin-morphopGIMP 插件。当我使用 GUI 时,插件按预期工作:

通过 GUI #1 命中或未命中 通过 GUI #1 命中或未命中

但是,当我使用以下 Script-Fu 脚本时:

该插件不会产生预期的结果:

通过 Script-Fu #1 命中或未命中 通过 Script-Fu #1 命中或未命中

我修改了插件,看看实际的区别是什么:

通过 GUI 使用该模块后,该morphop-operation.log文件包含以下文本:

正如预期的那样。运行 Script-Fu 代码后,该morphop-operation.log文件包含以下文本:

其中每行最右边的六个整数似乎是在每次调用时都会更改的随机垃圾。由于settings.element.matrix已经是接收数组的内部表示,我进一步修改了插件以直接显示接收数组:

运行 Script-Fu 代码后,该morphop-init.log文件包含以下文本:

第八个之后的值似乎是随机垃圾,尽管有些值在多次运行中保持不变:

对我来说,这意味着数组以与插件所期望的格式不同的格式传递。如何通过 Script-Fu 将数组传递给 GIMP 插件,使其保持完整?

0 投票
0 回答
624 浏览

error-handling - GIMP Script-Fu:“错误:(:1)汽车:参数 1 必须是:对”

我在使用 GIMP 的 script-fu 方面相当新,我正在编写一个脚本来遍历 .tif 图像文件的完整文件夹,将它们的大小调整为最大尺寸为 1200 像素,同时保持比例图片。然后它将文件保存为 .png 文件类型。

我遇到但似乎无法找到答案的问题是:

错误:(:1)汽车:参数1必须是:对

据我所知,这是说我正在尝试查找没有内容的列表的第一个条目,但我没有看到任何进一步的例子,这将是一个问题。我已经在许多网站上寻求帮助,并且对脚本进行了一段时间的修改,所以我认为是时候寻求帮助了。不幸的是,据我所知,GIMP 的文档并不是很可靠。我是在某个地方遗漏了仍然导致此错误的 car() 还是现在指的是更模棱两可的东西?

提前致谢...

0 投票
0 回答
123 浏览

gimp - 从 cond 设置的 script-fu 变量,但被视为未设置

我正在尝试为原始照片设置一个脚本,以允许我添加现有文件的两个副本(全部取自 ufraw),以不同的曝光度,以便我可以恢复阴影和高光细节。阴影文件的部分现在正在工作,硬编码以使用相同的图层作为其蒙版,并使用 NORMAL 模式。

但是我想为阴影遮罩传递一个选项,以便我可以从阴影层或基础层(正常曝光)中获取它,并将模式设置为 NORMAL 或 LIGHTEN-ONLY。以下代码不会出错:

也许我的 cond 测试不会做我想要的,但是 AFAICS sm-source 和 shadow-mode 都必须有一个值,要么来自测试为真,要么来自 else ?

但是当我尝试引用它们时,两者似乎都没有定义。第一次使用是在我脚本的下一行: (gimp-layer-set-mode shadow-layer shadow-mode) 但我得到错误:(:1)评估:未绑定变量:阴影模式。如果我注释该行并用硬编码模式替换它,那么我会收到类似的 sm-source 错误。