Sar*_*ara 20 command-line gimp image-editor
我想在 Ubuntu 上通过命令行使用GIMP对某些图像进行一些操作。我想做的操作是:
我如何使用命令行来完成它们?
pa4*_*080 36
我不知道如何将 Gimp 用于此任务,但实际上我认为包imagemagick中的工具是此类 CLI 任务的更好选择。该软件包被广泛用作 Web 服务器应用程序(如 MediaWiki 和 WordPress)上的转换工具,它也是 PhotoShop 等图形应用程序执行的某些操作的后端。首先你需要安装这个包:
sudo apt install imagemagick
Run Code Online (Sandbox Code Playgroud)
然后使用以下命令完成任务(参考):
convert input-file.png -set colorspace Gray -separate -average output-file.jpg
Run Code Online (Sandbox Code Playgroud)
如果您需要转换当前目录中的所有 PNG 文件,您可以使用如下循环:
for f in *.png; do convert "$f" -set colorspace Gray -separate -average "${f%.*}.jpg"; done
Run Code Online (Sandbox Code Playgroud)
dam*_*dam 19
打开图片真的很简单(image.png就是你要打开的图片)
gimp image.png
Run Code Online (Sandbox Code Playgroud)将 RGB 图像转换为灰度:
创建一个 GIMP Script-Fu 文件(在此处命名dmmConvertPNGtoGrayscale.scm并保存在$HOME/.gimp-2.8/scripts):
; dmmPNGtoGrayscale - GIMP Script-Fu to convert a PNG image to Grayscale
; This Script-Fu must be put in The GIMP's script directory
; (e.g., $HOME/.gimp-1.2/scripts).
; For command-line invocation, use the shell script rgbtogs.sh
; For interactive invocation, run The GIMP and go to
; Xtns -> Script-Fu -> dmm
;
(define (dmmPNGtoGrayscale infile outfile)
(let* ((image (car (file-png-load 1 infile infile)))
(drawable (car (gimp-image-active-drawable image)))
)
(gimp-convert-grayscale image)
(file-png-save 1 image drawable outfile outfile
1 0 0 0 0 0 0 )
; 1 Adam7 interlacing?
; 0 deflate compression factor (0-9)
; 0 Write bKGD chunk?
; 0 Write gAMMA chunk?
; 0 Write oFFs chunk?
; 0 Write tIME chunk? ?? backwards in DB Browser
; 0 Write pHYS chunk? ?? backwards in DB Browser
)
)
(script-fu-register ; I always forget these ...
"dmmPNGtoGrayscale" ; script name to register
"<Toolbox>/Xtns/Script-Fu/dmm/dmmPNGtoGrayscale" ; where it goes
"dmm PNG (RGB or Indexed) to Grayscale" ; script description
"David M. MacMillan" ; author
"Copyright 2004 by David M. MacMillan; GNU GPL" ; copyright
"2004-02-08" ; date
"" ; type of image
SF-FILENAME "Infile" "infile.png" ; default parameters
SF-FILENAME "Outfile" "outfile.png"
)
Run Code Online (Sandbox Code Playgroud)
并使用此脚本启动它(rgbtogs.sh例如我将其命名):
# rgbtogs.sh
# Invoke The GIMP with Script-Fu dmmPNGtoGrayscale.scm
# No error checking.
if [ -e $1 ]
then
echo "Usage: rgbtogs.sh degrees filebasename"
echo "Error: Parameter (filename base) required"
exit 1
fi
gimp -c -i -d -b "(dmmPNGtoGrayscale \"$1.png\" \"$1-gray.png\")" "(gimp-quit 0)"
Run Code Online (Sandbox Code Playgroud)
执行脚本并启动它:
chmod +x rgbtogs.sh
./rgbtogs.sh image
Run Code Online (Sandbox Code Playgroud)将 PNG 图像转换为 JPEG(或 JPG):
创建一个 GIMP Script-Fu 文件(在此处命名dmmConvertPNGtoJPG.scm并保存在$HOME/.gimp-2.8/scripts):
; dmmConvertPNGtoJPG.scm - GIMP Script-Fu to Convert PNG to JPG
; This Script-Fu must be put in The GIMP's script directory
; (e.g., $HOME/.gimp-1.2/scripts).
; For command-line invocation, use the shell script pngtojpg.sh
; For interactive invocation, run The GIMP and go to
; 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 quality (float 0 <= x <= 1)
; 0 smoothing factor (0 <= x <= 1)
; 1 optimization of entropy encoding parameter (0/1)
; 1 enable progressive jpeg image loading (0/1)
; "xxxx" image comment
; 0 subsampling option number
; 1 force creation of a baseline JPEG
; 0 frequency of restart markers
; in rows, 0 = no restart markers
; 0 DCT algoritm to use
)
)
(script-fu-register ; I always forget these ...
"dmmConvertPNGtoJPG" ; script name to register
"<Toolbox>/Xtns/Script-Fu/dmm/dmmConvertPNGtoJPG" ; where it goes
"dmm Convert PNG to JPG" ; script description
"David M. MacMillan" ; author
"Copyright 2004 by David M. MacMillan; GNU GPL" ; copyright
"2004-01-27" ; date
"" ; type of image
SF-FILENAME "Infile" "infile.png" ; default parameters
SF-FILENAME "Outfile" "outfile.png"
)
Run Code Online (Sandbox Code Playgroud)
并使用此脚本启动它(pngtojpg.sh例如我将其命名):
# pngtojpg.sh
# Invoke The GIMP with Script-Fu dmmConvertPNGtoJPG.scm
# No error checking.
if [ -e $1 ]
then
echo "Usage: pngtojpg.sh filebasename"
echo "Error: Parameter 1 (filename base) required"
exit 1
fi
gimp -c -i -d -b "(dmmConvertPNGtoJPG \"$1.png\" \"$1.jpg\")" "(gimp-quit 0)"
Run Code Online (Sandbox Code Playgroud)
执行脚本并启动它:
chmod +x pngtojpg.sh
./pngtojpg.sh image
Run Code Online (Sandbox Code Playgroud)来源:http : //beefchunk.com/documentation/lang/gimp/GIMP-Scripts-Fu.html
注意:在 GIMP Script-Fu 文件中,您可以删除所有以;字符开头的行(或该字符右侧的所有行),这些只是注释
注意:这些.scmscript-fu 最初是为 GIMP 1.2 制作的,但我用 GIMP 2.8 测试过,没有问题
| 归档时间: |
|
| 查看次数: |
7566 次 |
| 最近记录: |