2017-04-11 34 views
0

我想要的图像格式转换为JPG特定质量将图像转换为特定JPG质量

下面的命令不会出于某种原因,我得到的是NULL

gm convert -quality 80 '/tmp/phpK31vNK' JPEG:'/tmp/phpK31vNK' && cat '/tmp/phpK31vNK'

但是下面的命令工作正常,但GraphicsMagick工具设置的默认质量是75

gm convert '/tmp/phpK31vNK' JPEG:'/tmp/phpK31vNK' && cat '/tmp/phpK31vNK'

+0

待办事项你真的需要输出文件吗? –

+0

@Mark Setchell是... – user2650277

回答

2

尝试:

gm convert image1 -quality 60 JPEG:image2 

但是,如果此搜索始终是一个JPEG,你可以跳过JPEG:规格:

gm convert image1 -quality 60 image2 
+0

啊,我得到了错误的订单....感谢您的帮助 – user2650277

1

如果你不需要输出文件已cat编其内容后,您可以避免完全创建它,以及一个不必要的额外过程到cat它。您只需告诉GraphicsMagick工具创建JPEG直发送到stdout这样的:

gm convert input.jpg -quality 80 jpeg:- 

我们可以看到它的工作原理是改变质量和计数字节输出是这样的:

# Low quality => small size 
gm convert test.jpg -quality 60 jpeg:- | wc -c 
9036 

# Higher quality => larger size 
gm convert test.jpg -quality 80 jpeg:- | wc -c 
11513