linux 安装包裁剪脚本,linux – 如何使用GIMP编写自定义自动裁剪脚本?

Edger Script

我编写了一个自定义的GIMP脚本,它完全符合您的要求.只需将以下内容粘贴到文本文档中,然后将其以.scm扩展名保存在GIMP脚本文件夹中(可以在编辑>首选项>文件夹>脚本中找到/创建路径):

(define (script-fu-wirebear-edger filename outfilename top right bottom left)

(let* (

(img (car (gimp-file-load RUN-NONINTERACTIVE filename filename)))

(owidth (car (gimp-image-width img)))

(oheight (car (gimp-image-height img)))

(width (- owidth (+ right left)))

(height (- oheight (+ top bottom)))

)

;Crop Image

(gimp-image-crop img width height left top)

;Save

(gimp-file-save RUN-NONINTERACTIVE

img

(car (gimp-image-active-drawable img))

outfilename

outfilename)

;Cleanup

(gimp-image-delete img)

))

(script-fu-register "script-fu-wirebear-edger"

"Edger"

"Removes junk from the edges of an image"

"Chris Kent"

"WireBear.com"

"August 2011"

"RGB* GRAY*"

SF-STRING "Filename" ""

SF-STRING "OutputFilename" ""

SF-VALUE "TopEdge" "0"

SF-VALUE "RightEdge" "0"

SF-VALUE "BottomEdge" "0"

SF-VALUE "LeftEdge" "0"

)

script-fu-wirebear-edger()

此脚本接收输入文件名,输出文件名和每侧剃掉的像素数.您可以从Windows运行该命令(假设您已将GIMP设置为环境变量),这样(确保如图所示转义特殊字符并将所有字符放在一行上):

C:>gimp-2.6 -i -c -b

"(script-fu-wirebear-edger \"C:\\Users\\You\\Desktop\\Images\\1.png\"

\"C:\\Users\\You\\Desktop\\Images\\1_edged.png\" 10 30 25 5)"

-b "(gimp-quit 0)"

或者您可以在Script-Fu控制台(过滤器> Script-Fu>控制台)中运行它 – 无论这样的操作系统如何:

(script-fu-wirebear-edger "C:\\Users\\You\\Desktop\\Images\\1.png"

"C:\\Users\\You\\Desktop\\Images\\1_edged.png" 10 30 25 5)

批处理Edger脚本

为了在多个映像上运行Edger脚本,您可以将以下脚本与上面的脚本结合使用(您将在Scripts文件夹中同时使用这两个脚本):

(define (script-fu-wirebear-batch-edger pattern outsuffix top right bottom left)

(let* (

(filelist (cadr (file-glob pattern 1)))

(filename "")

(outfn "")

)

(while (not (null? filelist))

(set! filename (car filelist))

(set! outfn

(string-append

(string-append

(substring filename 0 (- (string-length filename) 4))

outsuffix)

(substring filename (- (string-length filename) 4))

)

)

(script-fu-wirebear-edger filename outfn top right bottom left)

(set! filelist (cdr filelist))

)

))

(script-fu-register "script-fu-wirebear-batch-edger"

"Batch Edger"

"Removes junk from the edges of a series of images"

"Chris Kent"

"WireBear.com"

"August 2011"

"RGB* GRAY*"

SF-STRING "Pattern" "*.png"

SF-STRING "OutputSuffix" "_edged"

SF-VALUE "TopEdge" "0"

SF-VALUE "RightEdge" "0"

SF-VALUE "BottomEdge" "0"

SF-VALUE "LeftEdge" "0"

)

script-fu-wirebear-batch-edger()

该脚本采用搜索模式来匹配目标图像,添加到文件名的后缀和每个图像每侧的剃须像素数.您可以从Windows运行该命令(假设您已将GIMP设置为环境变量),这样(确保如图所示转义特殊字符并将所有字符放在一行上):

C:>gimp-2.6 -i -c -b

"(script-fu-wirebear-batch-edger \"C:\\Users\\You\\Desktop\\Images\\*.png\"

\"_edged\" 10 30 25 5)"

-b "(gimp-quit 0)"

或者您可以在Script-Fu控制台(过滤器> Script-Fu>控制台)中运行它 – 无论这样的操作系统如何:

(script-fu-wirebear-batch-edger "C:\\Users\\You\\Desktop\\Images\\*.png"

"_edged" 10 30 25 5)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值