gpt4 book ai didi

scheme - 如何使用 GIMP Script-Fu 导出扁平化图像

转载 作者:行者123 更新时间:2023-12-04 13:45:16 30 4
gpt4 key购买 nike

我有一个应该展平、调整大小和导出初始图像的脚本。我被困在导出上。我正在使用文件-png-保存。除了第三个参数之外,我的参数似乎很好,它应该是一个可绘制的。

对于drawable,我使用了从gimp-image-flatten 得到的扁平化层。我得到的答复是我的第三个论点无效。图层不总是作为可绘制对象工作吗?我需要转换它吗?

(define (script-fu-panel-export inImg drawable inWidth)
(define filename (car(gimp-image-get-filename inImg)))
(define comHeight (/ inWidth .75))
(define piece (car(cdr(cdr(cdr(cdr(cdr(strbreakup filename "/"))))))))
(define base (car(strbreakup piece ".")))
(define destination (string-append "/home/samjones/Dev/mobinge/lib/images/" base "-" (number->string inWidth) ".png"))
(let* ((duplicateImg (car(gimp-image-duplicate inImg))))
(gimp-image-scale duplicateImg inWidth comHeight)
(let* ((flatLayer (gimp-image-flatten duplicateImg)))
(file-png-save 1 duplicateImg flatLayer destination destination 1 0 0 0 0 0 0)
)
(gimp-display-new duplicateImg)
)
)

(script-fu-register
"script-fu-panel-export"
"Export Panel. . ."
"Creates a flattened image export to a selected size.."
"Sam Jones"
"copyright 2017, Sam Jones"
"December 19, 2017"
""
SF-IMAGE "Image" 0
SF-DRAWABLE "Maybe unused" 0
SF-ADJUSTMENT "Width" '(320 20 1200 10 50 0 SF-SLIDER)
)

(script-fu-menu-register "script-fu-panel-export" "<Image>/Filters")

最佳答案

四处寻找从脚本中保存的人,我发现了一条稍微不同的可行路线。我替换了这两行:

(let* ((flatLayer (gimp-image-flatten duplicateImg)))
(file-png-save 1 duplicateImg flatLayer destination destination 1 0 0 0 0 0 0))

有了这个:
(gimp-image-flatten duplicateImg)
(file-png-save 1 duplicateImg (car(gimp-image-get-active-drawable duplicateImg))_destination destination 1 0 0 0 0 0 0)

所以我认为 gimp-image-flatten 可能会返回一个以图层作为第一个元素的列表,而不是返回一个图层。我现在知道 gimp-image-get-active 返回一个包含元素的列表。

这很奇怪,但它有效。

关于scheme - 如何使用 GIMP Script-Fu 导出扁平化图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49922377/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com