首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么imagemagick-convert能够将jpg转换为png,而它只有jpeg作为代理?

为什么imagemagick-convert能够将jpg转换为png,而它只有jpeg作为代理?
EN

Stack Overflow用户
提问于 2019-08-25 20:30:13
回答 1查看 406关注 0票数 0

当我执行命令convert -version时,它会给出以下输出。

代码语言:javascript
复制
Version: ImageMagick 6.8.9-7 Q16 x86_64 2019-08-23 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2014 ImageMagick Studio LLC
Features: DPC OpenMP
Delegates: jpeg

如上所述,在委托中只支持jpeg,这意味着只能读写jpeg。为什么我可以转换为png?

convert /tmp/val.jpg /tmp/val.png运行得非常好。为什么?

为什么这些格式被称为委托,而不是“支持的格式”?

https://imagemagick.org/script/convert.php https://www.imagemagick.org/discourse-server/viewtopic.php?t=28781

表示只能转换委托中的格式。

代码语言:javascript
复制
convert - version
EN

回答 1

Stack Overflow用户

发布于 2019-08-26 01:18:48

并非所有的ImageMagick代理都是图像格式。有些支持文本(fontconfig、freetype)或颜色(lcms)。它们被称为委托,因为它们是ImageMagick用来处理某些图像格式或帮助完成其他任务的外部程序。

您的输出可能仍然是JPG,但带有png后缀。您可以从以下位置查看

代码语言:javascript
复制
convert image -format "%m" info:

or 

identify -verbose image

您将看到实际的格式。

例如,这里我将JPG转换为虚构的ABC格式。

代码语言:javascript
复制
convert logo.jpg logo.abc
convert logo.abc -format "%m" info:

JPEG

所以实际的格式是JPEG。

Imagemagick可以在没有委托的情况下写入某些格式(例如PDF),但需要委托(Ghostscript)才能读取。然而,我不认为PNG是这些格式之一。

您将需要重新安装或安装更多委派。我推荐从二进制文件安装。

请参阅Imagemagick binaries listed here for various platforms

您没有说您使用的是什么平台,但是Linux发行版附带了安装了委派的ImageMagick。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57646017

复制
相关文章

相似问题

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