我有一个以 .xcf 格式保存的图像文件夹,我想将它们批量转换为更方便的格式。我尝试了一些没有效果的方法:
我曾经使用 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 的正确调用/参数吗?
我对 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 版本,回到最新版本让我陷入同样的困境。
我在使用 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) 我正在尝试编写一个简单的 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
提前致谢,祝您有美好的一天。
我有一个包含20多个图层的.xcf文件,用于制作精灵文件.
我想将所有这些图层保存为单独的文件,只包含每个图层的内容和大小.
我为gimp找到了这个脚本:https://github.com/jiilee/gimp
不幸的是,该脚本会创建具有图像完整大小的文件,而不是每个图层的大小.
举个例子:一张700px宽,400px高的图像.一层放置在x:100px,y:29px,宽度:72px,高度:21px; 我找到的脚本生成一个700px x 400px的文件,而不是因为我需要72px x 21px.
是否可以自动执行此操作?
是否可以将引导线从一个图像复制到另一个图像?
我需要这个,因为我有几个图像需要完全相同的组成,所以我想使用指导线.
没有选择和复制指南行的选项,因此我必须手动添加它们.
如果有一个小脚本的脚本,那就太好了.
好的,我找到了一些有趣的功能:
(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)
提前致谢!