给出以下命令行:
'/usr/bin/gm' convert 'directory/filename.psd[0]' filename.jpg
我会总是收到全部输出的层数.psd
:
$ ls something*
something.jpg.0 something.jpg.1 something.jpg.2
这文档明确指出:
使用方括号语法来指示您想要的帧。例如,
gm convert "Image.gif[0]" first.gif
将从 GIF 动画中提取第一幅图像(场景 0)。请务必用引号将文件规范括起来,以防止 shell 解释方括号。
我尝试过很多方法来解决它,但结果总是一样。
版本信息:
GraphicsMagick 1.3.12 2010-03-08 Q8 http://www.GraphicsMagick.org/
Copyright (C) 2002-2010 GraphicsMagick Group.
Additional copyrights and licenses apply to this software.
See http://www.GraphicsMagick.org/www/Copyright.html for details.
Feature Support:
Thread Safe no
Large Files (> 32 bit) yes
Large Memory (> 32 bit) no
BZIP yes
DPS no
FlashPix no
FreeType yes
Ghostscript (Library) no
JBIG no
JPEG-2000 no
JPEG yes
Little CMS yes
Loadable Modules yes
OpenMP no
PNG yes
TIFF yes
TRIO no
UMEM no
WMF yes
X11 no
XML yes
ZLIB yes
Host type: i686-pc-linux-gnu
Configured using the command:
./configure '--prefix=/usr' '--build=i686-pc-linux-gnu' '--host=i686-pc-linux-gnu' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--datadir=/usr/share' '--sysconfdir=/etc' '--localstatedir=/var/lib' '--docdir=/usr/share/doc/graphicsmagick-1.3.12' '--htmldir=/usr/share/doc/graphicsmagick-1.3.12/html' '--enable-shar ed' '--enable-largefile' '--without-included-ltdl' '--without-frozenpaths' '--without-gslib' '--with-quantum-depth=8' '--with-fontpath=/usr/share/fonts' '--with-gs -font-dir=/usr/share/fonts/default/ghostscript' '--with-windows-font-dir=/usr/share/fonts/corefonts' '--with-perl-options=INSTALLDIRS=vendor' '--disable-ccmalloc' '--disable-prof' '--disable-gcov' '--disable-magick-compat' '--disable-openmp' '--with-bzlib' '--with-magick-plus-plus' '--without-fpx' '--without-jbig' '--with-jp eg' '--without-jp2' '--with-lcms' '--with-modules' '--with-perl' '--with-png' '--with-xml' '--without-threads' '--with-tiff' '--with-ttf' '--with-wmf' '--without-x ' '--with-zlib' 'build_alias=i686-pc-linux-gnu'
Final Build Parameters:
CC = i686-pc-linux-gnu-gcc -std=gnu99
CFLAGS = -O2 -march=i686 -fomit-frame-pointer -Wall
CPPFLAGS = -I/usr/include/freetype2 -I/usr/include/libxml2
CXX = i686-pc-linux-gnu-g++
CXXFLAGS = -O2 -march=i686 -fomit-frame-pointer
LDFLAGS = -Wl,-O1 -Wl,--as-needed -L/usr/lib -L/usr/lib
LIBS = -llcms -lfreetype -lbz2 -lz -lm
答案1
听起来你需要将 PSD 压缩为单个图层。我会尝试将标志添加-flatten
到你的行中。这可能会将所有图层转换为一个 JPG,而不是多个文件。
此外,通过添加,您似乎[0]
告诉它循环遍历各个图层,就像 gif 文件中的图像序列一样。