我想在Ubuntu的命令行上使用GIMP对一些图像进行操作。
我想要进行的操作有:
1. 打开一个图像
2. 将图像转换为灰度
3. 将PNG图像转换为JPEG
请问我如何在命令行中实现这些操作?
请问我如何在命令行中实现这些操作?
imagemagick
软件包的工具对于这种命令行任务来说是更好的选择。这个软件包被广泛用作Web服务器应用程序(如MediaWiki和WordPress)的转换工具,同时也是一些图形应用程序(如PhotoShop)执行某些操作的后端。首先,您需要安装该软件包:sudo apt install imagemagick
convert input-file.png -set colorspace Gray -separate -average output-file.jpg
for f in *.png; do convert "$f" -set colorspace Gray -separate -average "${f%.*}.jpg"; done
image.png
是你想要打开的图片)gimp image.png
创建一个GIMP Script-Fu文件(这里命名为dmmConvertPNGtoJPG.scm
,并保存在$HOME/.gimp-2.8/scripts
目录中):
; dmmConvertPNGtoJPG.scm - GIMP Script-Fu用于将PNG转换为JPG
; 此Script-Fu必须放置在GIMP的脚本目录中
; (例如,$HOME/.gimp-1.2/scripts)。
; 对于命令行调用,请使用shell脚本pngtojpg.sh
; 对于交互式调用,请运行GIMP并转到
; Xtns -> Script-Fu -> dmm
;
(define (dmmConvertPNGtoJPG infile outfile)
(let* ((image (car (file-png-load 1 infile infile)))
(drawable (car (gimp-image-active-drawable image)))
)
(file-jpeg-save 1 image drawable outfile outfile
0.75 0 1 1 "GIMP" 0 1 0 0 )
; 0.75质量(浮点数 0 <= x <= 1)
; 0平滑因子(0 <= x <= 1)
; 1熵编码参数优化(0/1)
; 1启用渐进式JPEG图像加载(0/1)
; "xxxx" 图像注释
; 0子采样选项编号
; 1强制创建基线JPEG
; 0重启标记在行中的频率,0 = 没有重启标记
; 0要使用的DCT算法
)
)
(script-fu-register ; 我总是忘记这些...
"dmmConvertPNGtoJPG" ; 要注册的脚本名称
"<工具箱>/Xtns/Script-Fu/dmm/dmmConvertPNGtoJPG" ; 它放在哪里
"dmm将PNG转换为JPG" ; 脚本描述
"David M. MacMillan" ; 作者
"版权所有2004年David M. MacMillan;GNU GPL" ; 版权
"2004-01-27" ; 日期
"" ; 图像类型
SF-FILENAME "输入文件" "infile.png" ; 默认参数
SF-FILENAME "输出文件" "outfile.png"
)
并使用以下脚本启动它(例如,我将其命名为pngtojpg.sh
):
# pngtojpg.sh
# 使用Script-Fu dmmConvertPNGtoJPG.scm调用GIMP
# 没有错误检查。
if [ -e $1 ]
then
echo "用法:pngtojpg.sh 文件名"
echo "错误:需要参数1(文件名基础)"
exit 1
fi
gimp -c -i -d -b "(dmmConvertPNGtoJPG \"$1.png\" \"$1.jpg\")" "(gimp-quit 0)"
将执行权限赋予该脚本并启动它:
chmod +x pngtojpg.sh
./pngtojpg.sh image
来源:http://beefchunk.com/documentation/lang/gimp/GIMP-Scripts-Fu.html
注意:在GIMP Script-Fu文件中,您可以删除所有以;
字符开头的行(或者该字符右侧的所有内容),这些只是注释
注意:这些.scm
的Script-Fu最初是为GIMP 1.2制作的,但我已经在GIMP 2.8上进行了测试,没有任何问题
./rgbtogs.sh image
,其中 image
是你的图像文件名不包括扩展名。 - damadamscm
脚本文件必须放置在隐藏的GIMP文件夹中,即位于$HOME/.gimp2.8/scripts
目录下(这些脚本是用GIMP 1.2制作的,但我已经在2.8版本上进行了测试,可以正常运行)。 - damadamgimp -h
来获取Gimp的不同可用选项。gimp -n image_name.xxx
2.将一张图片转换为灰度图
我不知道是否可以使用Gimp来完成这个操作,请点击以下链接查看:https://www.gimp.org/tutorials/Basic_Batch/
3. 将PNG图像转换为JPEGconvert image1.xxx image2.yyy
convert
工具。 - pa4080