【问题标题】:Converting images to a specific JPG quality将图像转换为特定的 JPG 质量
【发布时间】:2017-04-11 06:07:49
【问题描述】:

我想将图像格式转换为特定质量的 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'

【问题讨论】:

  • cat之后真的需要输出文件吗?
  • @Mark Setchell 是的 ...

标签: imagemagick graphicsmagick


【解决方案1】:

试试:

gm convert image1 -quality 60 JPEG:image2

但如果 image1 始终是 jpeg,您可以跳过 JPEG: 规范:

gm convert image1 -quality 60 image2

【讨论】:

    【解决方案2】:

    如果您在cated 其内容后不需要输出文件,您可以完全避免创建它以及对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
    

    【讨论】:

      猜你喜欢
      • 2016-11-27
      • 1970-01-01
      • 1970-01-01
      • 2018-05-10
      • 2012-06-01
      • 2013-12-12
      • 1970-01-01
      • 1970-01-01
      • 2013-05-10
      相关资源
      最近更新 更多