首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带开关的MozJPEG STDIN模式

带开关的MozJPEG STDIN模式
EN

Stack Overflow用户
提问于 2015-02-25 21:52:47
回答 1查看 416关注 0票数 0

如果我没有任何标志的话,我就可以在mozjpeg 3上工作了。示例(Python):

代码语言:javascript
复制
fp = urllib.urlopen(http://path.to/unoptimized.jpg)
out_im2 = StringIO.StringIO(fp.read()) # StringIO Image
subp = subprocess.Popen(["/home/ubuntu/mozjpeg/cjpeg"],stdin=subprocess.PIPE,stdout=subprocess.PIPE)
    image_results = subp.communicate(input=out_im2.getvalue())

但是,如果我试图使用开关(例如"-quality 70")来自定义它,则无法使它工作。我不确定这是个窃听器还是我漏掉了什么。如有任何见解,将不胜感激:

代码语言:javascript
复制
subp = subprocess.Popen(["/home/ubuntu/mozjpeg/cjpeg", "-quality 70"],stdin=subprocess.PIPE,stdout=subprocess.PIPE)
image_results = subp.communicate(input=out_im2.getvalue())

在执行时,我会收到以下信息:

代码语言:javascript
复制
/home/ubuntu/mozjpeg/.libs/lt-cjpeg: unknown option 'quality 70'
usage: /home/ubuntu/mozjpeg/.libs/lt-cjpeg [switches] [inputfile]
Switches (names may be abbreviated):
  -quality N[,...]   Compression quality (0..100; 5-95 is useful range)
.... <Rest of --help screen>

提前感谢您的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-25 21:59:34

多亏了https://github.com/njdoyle,“-quality 70”应该是“-quality”,“70”。两个参数。

所以:

代码语言:javascript
复制
subp = subprocess.Popen(["/home/ubuntu/mozjpeg/cjpeg", "-quality","70"],stdin=subprocess.PIPE,stdout=subprocess.PIPE)
image_results = subp.communicate(input=out_im2.getvalue())
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28730375

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档