问题标签 [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.
python - Gimp,python-fu:RuntimeError:pdb.gimp_image_merge_down 中的执行错误
我的目标是将一个图像放在另一个图像上并将生成的图像保存为 jpeg 文件。第一个是新的,它有 450x300 尺寸和白色背景。第二个是从文件加载的,它的可见部分作为图层添加到第一个。
我已将以下 python 脚本添加到/usr/lib/gimp/2.0/plug-ins文件夹
通过运行它
返回
(gimp:4224): GLib-CRITICAL **: g_error_new_literal: assertion 'domain != 0' failed Traceback (last last 最近调用): File "/usr/lib/gimp/2.0/python/gimpfu.py", line 821 ,在 _run return apply(func, params[1:]) 文件“/usr/lib/gimp/2.0/plug-ins/my.py”,第 31 行,按比例 finalLayer = pdb.gimp_image_merge_down(newImage,tdraw,1 )RuntimeError:执行错误批处理命令遇到执行错误:错误:(:1)python-fu-my的程序执行失败
怎么了?如何正确地做到这一点并了解问题的根本原因。
编辑。遵循 xenoid 的建议: 1) 使用gimp_image_merge_down导致logo.jpeg的白色背景为 450、300 大小
2) 使用newImage.add_layer(visibleLayer, 0)会导致原始png图像作为输入以jpg格式存储
gimp - GIMP Python-Fu 脚本不使用超过 4 个参数运行
我正在尝试为 GIMP 编写 Python-Fu 插件,但添加超过 4 个输入参数(包括 Image 和 Drawable 参数)将导致脚本根本无法运行。我已经尝试过使用各种输入参数类型,它们都产生相同的结果。有没有人知道为什么会这样?我错过了一些明显的东西吗?
编辑:
下面是完整的、功能齐全的脚本,包括 Python 代码。
python - Gimp,python-fu:将图层与图像中的背景图层对齐
以下代码用于将图层与底部背景图层对齐。
预期的行 pdb.gimp_layer_scale(visibleLayer, 435, 100, True)
可以完成这项工作,但生成的文件在背景白色图层的左上角包含徽标图层。如何正确地将图层与底部背景图层对齐?
python - 在python 3中运行linux命令
在 linux bash 中运行以下命令成功:
输出:
被打印并且子进程退出
用 python3.5 运行它失败:
结果输出:
并且子进程卡住了。
我不确定有什么区别以及如何在 python 中实现等效行为。有没有办法将 bash 命令作为字符串运行?
python - 如何从命令行使用 gimpfu 运行 python 脚本?
我正在尝试使用 gimp 2.8.22 的功能将 pdf 转换为 jpeg,我想使用我的 windows cmd 中的 gimpfu 库使用 python 脚本来做到这一点(我已经安装了 python 3.6.1)。
现在,我不想用示例脚本来做到这一点:
我尝试从我的 cmd 运行脚本,如下所示:
但是,无论我做什么,我总是会收到相同的错误消息:
(gimp-2.8:1020): LibGimpBase-WARNING **: gimp-2.8: gimp_wire_read(): 错误
编辑:好的,谢谢。我省略了接口语句,还尝试了最简单的示例来找出问题所在:
当我从 Gimp 本身运行该脚本时,该脚本实际上可以工作,但是当我尝试从我的 cmd 运行它时,Gimp 打开另一个 cmd 并说:Error: ( : 1) eval: unbound variable: hello_world
有人知道我在这里缺少什么吗?
python - Python 和 Gimp:如何正确杀死 gimp 进程?
我正在使用由照片软件 gimp 调用的 python 脚本来将 pdf 转换为 jpg。到目前为止,脚本运行良好,但完成后,gimp 会打开一个 cmd 窗口,说“按任意键退出”。这个 cmd 窗口是 gimp.exe 进程,我无法用我的脚本杀死它(我不想每次运行我的脚本时都输入用户输入)。
我尝试了类似的python命令os.system("taskkill /im gimp-2.8.exe")
,sys.exit(0)
但它们都不起作用。
这是我的python脚本:
这就是我从 Windows 命令行调用我的 gimp 脚本的方式:
我原以为 gimp 命令gimp_quit(1)
会关闭窗口,但事实并非如此。
这似乎是一个简单的问题,但我已经花了几个小时在这上面,所以任何帮助表示赞赏。谢谢。
gimp - 如何在不更改字体的情况下更改 python-fu gimp 脚本中的文本?
我有一个主图像,我在 gimp 中编辑它以获得所需的外观和感觉。然后,我想使用 python 脚本来生成一堆新的图像,其中的文本(在几个不同的层上)发生了变化。我想保留字体、大小、斜体或不斜体等。
我已使用此功能成功更改了批处理脚本中的文本:
问题是这也会覆盖我在主文件中选择的字体和其他文本参数。有没有办法只更改文本并单独保留字体?
或者,一种更笨重的方法是在更改之前尝试保存有关字体的所有重要信息,然后尝试重新应用它。这是我尝试过的:
不幸的是,这似乎并不能始终如一地工作。看起来 get_font 和 get_font_size 命令为其中一个图层检索正确的字体,但不为其他图层检索正确的字体。它似乎没有保留斜体等,我不希望它保留文本是否带下划线。
第三种选择是在字体中硬编码。我需要浏览所有文本字段,弄清楚字体参数是什么,并为每个参数硬编码。然后,如果我重新设计主文件(我会做很多),我必须重复这个过程。这不应该是必要的。
pdb - GIMP python-fu调用函数plug_in_beautify'参数数量错误'
我尝试在 python 命令行中使用很棒的 Beautify 插件,但我无法以正确的方式调用该函数!
这是我的代码:
那么,如果我的函数期望 5 而我输入 5,为什么我的函数有“错误数量的参数”?
谁能帮助我正确的语法?
python - Gimp Python 插件 gimp.Image 作为 numpy 数组
我正在为 GIMP 开发一个 python 插件,我想获得一个层的 RGB 矩阵作为一个 numpy 数组。要访问 python 插件中的层,我使用下面的代码:
我想创建layer
一个变量,而不是 gimp.Image 变量,一个 numpy 数组,其中包含每个像素的 RGB 值。我在其他 nonGimp-python 代码中使用的是下一行:frame2 = misc.imread('C:\Users\User\Desktop\image2.png').astype(np.float32)
. 如果我打印frame2
,我会得到一个这样的矩阵,其中包含每个像素的 RGB 值:
有什么方法可以将 gimp.Image 类型变量转换为 numpy 数组,而无需将其保存在文件中并使用 Scipy 重新加载它?
谢谢。