问题标签 [python-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 投票
1 回答
204 浏览

gimp - Gimp Python 脚本单独工作,但组合时不工作

我有一个多层 Gimp XCF 模板,我的目标是自动将 JPG 插入其中并从命令行导出它们。

我有一个用于插入图像的第一个工作 python-fu 插件,以及一个用于展平/保存图像的第二个工作 python-fu 插件(一行执行代码),但我想组合这两个插件以使它们更容易调用从命令行。最终我还想自动打开 XCF 文件。现在虽然我只是想结合这两个功能。两个插件都接收“image”和“layer”作为输入参数。

我的组合插件的功能参数是图像、图层、要插入的 JPG(文件)、用于将图像放置在 XCF 模板中的 X 和 Y 偏移量(x_offset、y_offset),以及用于导出的位置(outputFolder)。

当我将保存命令(pdb.file_jpeg_save显示在我的代码底部附近)添加到第一个工作脚本时,它失败了。为什么这会单独工作但在这里失败?

我的代码如下所示。

0 投票
1 回答
138 浏览

python - 如何仅使用 GIMP 的 python-fu 将图像保存为无损 webp

我有一个 python-fu 问题。我正在使用 GIMP 2.10.12,mac 版本。
假设我在 GIMP 中打开了一张图片

原始示例图像:

图片

我想使用 python-fu 以 webp 格式保存它。我这样做:

img=gimp.image_list()[0]
layer=img.layers[0]
pdb.gimp_file_save(img,layer,'/my_path/my_image.webp','?')

它可以工作,但是当我检查生成的 webp 文件时发现它的质量已经下降。它正在通过有损压缩保存。

产生的有损图像:

图片

如果我使用 GUI 执行相同的过程,在对话框中有无损压缩复选框,我检查了它,并且生成的文件具有我想要的质量。

勾选了无损选项的 Gimp 对话框:

图片

我的问题是:如何将图像保存为 webp 文件并仅使用 Python-fu 而不是 GUI 检查无损压缩选项?

我尝试过:
- 首先将图像展平以带走 alpha 通道,但没有奏效。
-查看 GIMP 的开发人员文档,但尚未找到任何内容。
- 在首选项面板中查找默认选中无损选项的方法。还没有找到任何东西。

我错过了什么吗?欢迎任何指点。谢谢。

0 投票
1 回答
65 浏览

gimp - 如何使用 script-fu 更改 GIMP 打印大小

我正在使用 GIMP 2.10.24。我有一些图像,我需要将打印尺寸宽度更改为 21 毫米,高度更改为 30 毫米。我可以通过设置图像打印分辨率对话框(菜单->图像->打印尺寸)来做到这一点: screenshot

但是我有一个问题:我怎么能用 script-fu 或 python-fu 做到这一点?

0 投票
2 回答
62 浏览

python - 在 Gimp python-fu 中调整 RGB 通道的级别?

根据文档,我可以通过channels属性访问图像通道,但这给了我一个空列表。我怀疑只能通过此属性访问用户创建的频道。如何获取 R、G 和 B 通道的通道对象?

我需要这些渠道来应用级别。我想使用预设,但 python-fu 无法访问这些。这意味着我需要逐个通道应用级别更改,例如:

我发现有通道常数。他们没有给我一个错误,但结果是“太白了”,我使用哪个常量似乎并不重要。

0 投票
0 回答
58 浏览

python - GIMP 2.10.28 Python-Fu“plug_in_nova”没有“随机种子”参数?

最近,我想制作一个动画,其中 GIMP 中的超新星从小开始,然后为我正在制作的视频慢慢成长。

我想过只使用滤镜->光影->超新星...效果制作一个巨大的超新星,并使其具有较大的半径,然后通过视频编辑软件将其缩小...

但是它会散发出很大的光环,我希望白色中心在最后一帧之前填充整个 1920x1080p 区域。

我决定制作自己的 GIMP 插件来做我想做的事(我知道有点傻......)

为了让您更好地了解我想要做什么,这是我的插件的执行功能。

不要介意“gimpcolorhex”功能。这只是我制作的一个小辅助函数,而不是像 gimpcolor.RGB(decimal,decimal,decimal) 这样的东西。

问题是……每次产生新的超新星时……它开始“旋转”。

我很确定这是因为似乎没有我可以设置的“随机种子”参数,所以它不断创建一个新的超新星,每层随机添加一个半径。

我正在使用http://oldhome.schmorp.de/marc/pdb/plug_in_nova.html 作为我的文档。让我知道你是否可以帮助我!

不确定我是否应该为每个后续层或其他东西尝试 Iterator_ALT 函数。

0 投票
1 回答
169 浏览

image - 如何使用 GIMP 防止色带?

只需在 python GIMP 中做一个简单的 bump_map 操作。但结果有色带!

如果我删除“plug_in_bump_map”操作,我保存的最终结果中没有色带。如果我对灰度图像应用高斯模糊,最终结果中的色带会消失,但会留下不希望的模糊,我该怎么办?所有图像均为PNG。

条带示例 示例二

0 投票
0 回答
10 浏览

python-fu - 如何使用 python-fu 重命名现有图像的图层

首先,这不是我如何使用 python-fu 重命名图层的副本。

在链接的示例中,OP 要求创建图像。就我而言,我不创建图像。相反,我想重命名现有图像的图层。我的问题如下:我现在选择和重命名图层的 pdb 程序,但程序接受图像作为参数。有了gimp.image_list()我当前打开的图像的“名称”,但我现在不知道如何创建图像变量