You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Script-Fu将图片导出至GIMP文件所在文件夹?

解决GIMP脚本导出PNG到图像所在文件夹的问题

问题分析

原脚本中file-png-save使用硬编码文件名,未指定路径,因此默认保存到用户文件夹。要实现保存到当前图像所在目录,需先获取图像的文件路径,再拼接导出文件名。另外原脚本里的gimp-layer-sca080le是拼写错误,正确应为gimp-layer-scale,否则缩放功能无法正常执行。

修正后的脚本

(define (script-fu-biz-scale Image Layer Drawable)
    ; 修正缩放函数拼写错误
    (gimp-layer-scale Layer 1920 1 TRUE)
    
    ; 获取图像路径并拼接保存路径
    (let* ((image-path (gimp-image-get-filename Image))
           ; 提取图像所在目录,未保存则用空字符串(保持原默认行为)
           (save-dir (if image-path
                         (string-trim-right image-path (substring image-path (string-rindex image-path "/") (string-length image-path)))
                         ""))
           ; 拼接导出文件的完整路径
           (save-path (string-append save-dir "BizScale.png")))
      
      ; 使用完整路径保存PNG
      (file-png-save 1 Image Drawable save-path save-path 0 0 0 0 0 0 0)
    )
)

(script-fu-register
    "script-fu-biz-scale"
    "<Image>/Filters/BizScale"
    "Scaling images automatically"
    "Lukas"
    "Lukas"
    "12.12.2022"
    "RGB*"
    SF-IMAGE "Image" 0
    SF-DRAWABLE "Layer" 0
    SF-DRAWABLE "Drawable" 0
)

关键说明

  • gimp-image-get-filename:获取当前图像的完整文件路径,若图像从未保存过则返回#f,此时脚本会沿用原逻辑保存到用户文件夹。
  • string-rindex:定位路径中最后一个/的位置,用于截取目录部分。
  • string-trim-right:移除路径中的文件名,仅保留目录路径。
  • string-append:将目录路径与导出文件名拼接成完整的保存路径。

内容的提问来源于stack exchange,提问作者Lukas2002

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 17:45:13