问题标签 [gimpfu]

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 投票
1 回答
600 浏览

gimp - 在 GIMP (DBP) 中,如何将照片批量调整到一定宽度并保持纵横比?

我一直在使用 GIMP 一张一张地调整照片的大小,比如说 800 像素宽度,同时保持纵横比。我下载了 David Batch Processor 插件,一切看起来都很好,除了它无法在保持纵横比的同时调整到预定的宽度或高度。

  • 相对:我可以按 % 调整大小并保持纵横比,但是照片的大小和方向不同,所以没有一个 % 有效。
  • 绝对:没有保持纵横比的选项,并且没有一个高度适用于所有照片。

有人可以建议是否有一种方法可以使用 GIMP 的 dbp 批量调整不同原始尺寸的照片,或者是否有其他可以工作的插件?

0 投票
1 回答
634 浏览

python - 如果调用某些 pdb 方法,GIMP Python-Fu 插件将不会注册

我正在尝试使用 Python-fu 进行一些批处理,但无法让我的脚本正常工作。当我尝试调用pdb中的某些方法时,例如pdb.plug_in_nlfilt(),插件不会注册。

我在这里构建 test_batch_invert.py 示例。该示例有效并按预期处理文件,但以下代码未注册。当我有一个要处理的图像时,所有这些pdb函数在 python 控制台中单独工作。

有任何想法吗?此外,当我注释掉所有有问题的pdb调用并且插件确实注册时,它在菜单中显示为灰色,除非我打开了图像。有没有办法让它在菜单中起作用而无需手动打开另一个图像文件?

感谢大家!

-编辑:修复了一些名为“层”的拼写错误,但这并没有解决它。

GIMP 详细输出提供的错误:

0 投票
1 回答
74 浏览

gimp - Gimp scriptfu 程序名称 Colors->Map->Rotate Colors

标题基本上说明了一切。我找不到与您在 Colors->Map->Rotate Colors 菜单中获得的内容类似的脚本 fu gimp 程序。

此外,是否有从菜单项中获取过程名称的通用方法?

0 投票
1 回答
107 浏览

python - 使用自定义调色板调用 gimp_image_convert_indexed,无法找到调色板

我正在制作一个脚本来将任何图像限制为 3 种颜色(用于在程序中显示到电子墨水显示器)。我想使用 GIMP 的 gimp_image_convert_indexed 函数 bc Wand 和 PIP 的 .quantize 不能按照我想要的方式工作并且看起来不太好。这是一个无头的 raspi 零。

gimp -idf --batch-interpreter python-fu-eval -b 'import sys;sys.path=["."]+sys.path;import colorindex;colorindex.python_colorindex("gimptemp.jpg")' -b 'pdb.gimp_quit(1)'当我使用它调用脚本时,会出现错误:

自定义调色板位于 GIMP 的调色板文件夹中(当我通过 UI 打开调色板时甚至可以识别它),为了安全起见,我将调色板的副本放在运行脚本的目录中。我尝试将文件的名称和调色板的名称设置为“eink”而不是“E-Ink”,它有同样的错误。当我指定文件路径(“/home/pi/.config/GIMP/2.10/palettes/E-Ink.gpl”)而不是“E-Ink”时,同样的事情发生了。

这是 colorindex.py(gimp 脚本)

这里显示了错误和调色板的路径

这是显示 gimp 识别调色板(在同一台机器上运行,但通过 Xming 的 GUI)

0 投票
1 回答
62 浏览

python - GIMP 脚本在终端中运行时可以找到自定义调色板,但在程序中无法找到

我想gimp -if --batch-interpreter python-fu-eval -b 'import sys;sys.path=["."]+sys.path;import colorindex;colorindex.python_colorindex("gimptemp.jpg")' -b 'pdb.gimp_quit(1)'从这样的脚本内部执行(在终端中运行时工作正常)colorindex = subprocess.run(["/usr/bin/gimp", "-if", "--batch-interpreter", "python-fu-eval", "-b", "import sys;sys.path=['.']+sys.path;import colorindex;colorindex.python_colorindex('gimptemp.jpg')", "-b", "pdb.gimp_quit(1)"])(错误 bc gimp 函数找不到所需的调色板)

错误:

我在终端中遇到了同样的问题,当时我不小心留在了 -d 标志中,阻止了画笔和其他东西的加载,但显然我把它拿出来了,所以我知道这次可能会阻止调色板加载,尤其是当它在终端中工作时。改用 subprocess.Popen 并没有改变错误。当我通过脚本打开 gimp 时,自定义调色板不会显示在调色板托盘 gui 中,但是当通过终端运行时它会显示在 gui 中

这是 colorindex.py

0 投票
1 回答
94 浏览

gimp - 如何使用 python-fu 重命名图层

我想重命名我刚刚创建的新图层。

0 投票
1 回答
23 浏览

python - 从 Windows 剪贴板粘贴 Gimpfu

尝试将 Windows 剪贴板粘贴到 gimp 2 中的新图像中,我尝试了:

第 2 行给出错误:

已使用参数 'image' 的无效 ID 调用了过程 'gimp-display-new'。

0 投票
0 回答
15 浏览

python - 在 gimpfu 中使用外部 GUI 撤消

我有一个图像注释工具,它采用当前在 GIMP 中活动的选择并将其保存到一个新层,充当实例分割的掩码。我还有一个具有 TreeView 的外部 GUI(在 PyGTK2 中),其中包含所有注释的列表。我希望能够撤消所做的注释,GIMP 可以撤消掩码的创建,但它可以更新外部 GUI 的状态,并且能够更新更改。我不完全确定撤消堆栈通常如何工作/与 GIMP 一起工作,因此将不胜感激。

在此处输入图像描述

0 投票
1 回答
163 浏览

mask - GIMP Script-Fu:使用蒙版批量编辑图像

我有一千张图片,我必须从中删除近 1/2 的内容。

手动我会:

  • 加载图像-a
  • 添加 Alpha 通道
  • 导入图层 image-b(预制蒙版)
  • 从屏蔽部分进行选择
  • 删除遮罩层
  • 从图像 a 中清除选择
  • 导出图像

这是我编写的试图自动化的代码:

这是我用来启动和反馈的终端命令

它冻结了,然后我必须 ctrl+c

我在 GIMP 控制台中尝试过:

它返回 (1) 然后我可以看到它实际上从未在 GIMPS 窗口底部的状态栏中加载图像。

我在 Ubuntu 20.04 GIMP 2.10.18 (apt not SNAP) 我尝试从 Flatpak 运行 GIMP,但遇到 GTK 模块无法加载的问题......无论如何

字面上的帮助将不胜感激 - 如果可行的话,甚至是替代解决方案

0 投票
1 回答
67 浏览

python - 使用“加法”混合模式添加两个图像:在 python 中重新创建 GIMP“加法”模式会产生不同的结果

我正在尝试将两个图像添加在一起。

在此处输入图像描述

在此处输入图像描述

当我在 GIMP 中这样做时,使用“添加”图层模式,我得到以下所需的输出。 在此处输入图像描述

现在,我正在尝试在 Python 中执行此操作,但是我无法使其正常工作。根据 gimp 文档,据我了解,加法公式只是每个像素的加法,最大值设置为 255。

加法模式方程:E = min(( M + I ), 255)

我尝试在 Python 中应用它,但输出看起来不同。如何在 Python 中获得与 gimp 添加层混合模式相同的输出?

我的尝试:

现在,这看起来非常相似,但与 GIMP 添加相比,它实际上太亮了。只需在新选项卡和它们之间的 alt+tab 中打开两者,差异就会变得明显。
在此处输入图像描述

如何获得与 GIMP 完全相同的结果?我尝试使用 Python-fu 或 gimp 批处理渲染(因为我有成千上万的图像想要像这样混合),但我也无法让它工作。