标签: script-fu

从 XCF 版本 11 批量转换

我有一个以 .xc​​f 格式保存的图像文件夹,我想将它们批量转换为更方便的格式。我尝试了一些没有效果的方法:

  • 我曾经使用 IrfanView 执行此操作,但现在不再有效,因为它拒绝打开最新版本的 .xcf 文件。

  • 我尝试使用 IMageMagick mogrify 和 Convert,但它们都给我“内存分配失败”——也许它们也不理解新格式?

  • 我尝试了 xcf2png 命令行工具,在创建空图像之前,它给了我消息“警告:不支持 XCF 版本 11(无论如何尝试...)”。

我最后的希望是编写一个可以在最新版本的 Gimp 本身中运行的批量转换脚本,但我对 ScriptFu 没有任何经验。我找到了一个可以转换其他一些文件类型的脚本(http://beefchunk.com/documentation/lang/gimp/GIMP-Scripts-Fu.html#convertjpg-script-fu),但不太具备修改它的知识。有人知道读取 xcf 和写入 png 的正确调用/参数吗?

imagemagick script-fu xcf irfanview

4
推荐指数
1
解决办法
1774
查看次数

GIMP 方案脚本中的 number->string 和相关程序

我对 GIMP 脚本中的字符串到数字和数字到字符串的转换感到沮丧。我在 Windows Vista 中运行 GIMP 2.6.8。

我知道 GIMP 的内部 Scheme 实现会随着版本而变化,我似乎无法确定文档。据我所知,GIMP 的 Scheme 是 TinyScheme 的一个子集和/或支持 R5RS 标准程序。无论如何,当我想尝试新的东西时,我通常只是在打包的脚本目录中查看示例,因为这肯定会起作用,对吧?

例如,grid-system.scm 带有最新的 GIMP 版本并具有表达式,

(string-append (number->string obj) " ")
Run Code Online (Sandbox Code Playgroud)

这正是我想要的。但是,如果我在自己的脚本中使用 number->string,或者甚至在 GIMP 的脚本控制台中输入它(这是我通常测试我想做的新东西的方式),它会告诉我 number->string 是一个未绑定的变量:

> (number->string 3)
Run Code Online (Sandbox Code Playgroud)

Error: eval: unbound variable: number->string

来自 R5RS 的其他标准程序可以正常工作:

> (string-append "frust" "rated")

"frustrated"

所以,

1) 除了像搜索 GIMP 的源代码这样激烈的东西之外,是否还有一些当前 GIMP Scheme 脚本的潜在文档?

2) 我可以使用 GIMP 控制台来列出所有已定义的过程以找到我需要的东西吗?

3) 有没有其他人确认 number->string 没有为当前的 Windows 版本定义,即使它出现在打包的脚本中?我的网络搜索没有发现任何相关问题,并且完全卸载所有 GIMP 版本,回到最新版本让我陷入同样的​​困境。

scripting scheme gimp script-fu

3
推荐指数
1
解决办法
5885
查看次数

Gimp 批处理打开为图层

我在使用 gimp 批处理模式时遇到了问题。我想要做的就是打开 2 个 png 文件作为一个图像的图层并将它们一起保存为图标 (.ico)。

问题:Gimp 只是将两个图像作为单独的窗口打开,而不是在一层中打开两个图像。

我的代码如下所示:

(define (merge-to-icon filename layername endname)
(
    let* 
    (
        (image (car (gimp-file-load RUN-NONINTERACTIVE filename filename)))
        (drawable (car (gimp-image-get-active-layer image)))
        (adlayer (car (gimp-file-load-layer RUN-NONINTERACTIVE image layername)))
    )
    (gimp-image-insert-layer image adlayer 0 0)
    (set! drawable (car (gimp-image-get-active-layer image)))
    (gimp-displays-flush)
    (gimp-file-save RUN-NONINTERACTIVE image drawable endname endname)
))
Run Code Online (Sandbox Code Playgroud)

gimp script-fu

3
推荐指数
1
解决办法
2627
查看次数

在 script-fu (TinyScheme) 中连接字符串和变量

我正在尝试编写一个简单的 script-fu 函数。我希望它采用一个filename作为参数并从文件夹(其路径将被硬编码)加载该文件。

基本代码:

(define (myfunction inputfile)
    (let * ( (image (cat (file-png-load 1 inputfile inputfile)
                                          ^^^^^^^^^
...
Run Code Online (Sandbox Code Playgroud)

这是我想用 ecmascript 语法实现的目标:

"foldername/" + inputfile
Run Code Online (Sandbox Code Playgroud)

我查看了Scheme 文档,但没有看到变量+字符串连接的示例......

https://groups.csail.mit.edu/mac/ftpdir/scheme-7.4/doc-html/scheme_7.html#SEC61

提前致谢,祝您有美好的一天。

scheme gimp script-fu

3
推荐指数
1
解决办法
1816
查看次数

Gimp将所有图层保存为具有图层大小的文件

我有一个包含20多个图层的.xcf文件,用于制作精灵文件.

我想将所有这些图层保存为单独的文件,只包含每个图层的内容和大小.

我为gimp找到了这个脚本:https://github.com/jiilee/gimp

不幸的是,该脚本会创建具有图像完整大小的文件,而不是每个图层的大小.

举个例子:一张700px宽,400px高的图像.一层放置在x:100px,y:29px,宽度:72px,高度:21px; 我找到的脚本生成一个700px x 400px的文件,而不是因为我需要72px x 21px.

是否可以自动执行此操作?

gimp script-fu xcf python-fu

2
推荐指数
1
解决办法
1474
查看次数

如何在Gimp中复制指南?

是否可以将引导线从一个图像复制到另一个图像?
我需要这个,因为我有几个图像需要完全相同的组成,所以我想使用指导线.
没有选择和复制指南行的选项,因此我必须手动添加它们.

如果有一个小脚本的脚本,那就太好了.

好的,我找到了一些有趣的功能:

(gimp-image-find-next-guide image index)
(gimp_image_add_hguide image xposition)
(gimp_image_add_vguide image yposition)
(gimp_image_get_guide_orientation image guide)
(gimp_image_get_guide_position image guide)
Run Code Online (Sandbox Code Playgroud)

提前致谢!

gimp script-fu

1
推荐指数
1
解决办法
1837
查看次数

标签 统计

script-fu ×6

gimp ×5

scheme ×2

xcf ×2

imagemagick ×1

irfanview ×1

python-fu ×1

scripting ×1