ImageMagick用法示例

2020-08-10 13:10:58

(简称";IM,";)。但是,它们也说明了使用ImageMagick应用程序编程接口(API)可以做什么。因此,这些页面应该是IM用户阅读简明命令行(CLI)选项手册后的第一站。通常,同样的问题会在网络上被反复问到,比如我该如何……。我希望这些网页上的例子能回答大多数常见的如何做的问题。示例页面中使用的符号的图例...。测试图像存储目录...。包括小图像(图像显示),更多的照片(花式指数)。ImageMagick是为批量处理图像而设计的。也就是说,它允许您在脚本(shell、DOS、Perl、PHP等)中组合图像处理操作。因此,这些操作可以应用于许多图像,或其他一些工具的子系统,如Web应用程序、视频处理工具、全景图生成器等。它不是一个GUI图像编辑器。

ImageMagick首先是一个图像到图像转换器。这就是它最初设计的目的。也就是说,它会将任何图像格式(告诉我们是否可以)转换成任何其他图像格式。但它也是一个图像处理算法库。可以通过命令行和shell/DOS脚本(这些示例页面说明了这一点)或通过大量编程语言(如C、C++、Perl、Ruby、PHP等)访问这些API。请参阅:ImageMagick API。速度从来不是IM的一个主要特征,它更强调生成的图像的质量。这并不是说它可以在合理的时间内转换图像。它只是不是盲目快速的。正因为如此,IM执行某些处理操作的速度可能会很慢,尤其是在尝试将图像压缩为功能有限的图像格式时。ImageMagick主要关注像素矩形阵列(通常称为栅格)形式的图像。它将处理Postscript或PDF等矢量图像格式,但代价是在加载图像时将其转换为光栅,并在保存时在栅格周围生成矢量图像包装。因此,使用默认设置时,矢量图像的处理效果往往很差。然而,可以使用特定的选项来改善这种情况。请参阅:关于矢量图像格式的一句话。这些页面是从我的ImageMagick提示和提示集合页面发展而来的,也是我在1993年首次开始的页面的延续,并在同一时间出现在新的有花哨的万维网上。关于IM的许多方面的信息,以及页面中没有包含的注释,仍然存在于该文档中。然而,虽然现在的页面是设计给你看的,但提示和提示文档只供我自己启迪。因此,它在某些地方可能是模糊的或混乱的。欢迎您浏览、学习和评论。其他的例子是从IMForum上对用户问题的回答中抓取或发展出来的,或者是作为各种问题的解决方案贡献给我的。我期待着来自其他IM用户的建议和电子邮件。这样的电子邮件通常导致对这些示例页面的改进和扩展。所有示例都是使用Bash脚本编写的,以便在UNIX上使用,特别是在GNU/Linux系统上使用。因此,有些示例使用shell-for-do循环。大多数示例在行尾使用反斜杠来在下一行继续执行该命令。较长的命令被分割成单独的行,以尝试进一步突出显示正在应用的步骤。但是,您仍然可以使用PC Windows批处理脚本中的这些示例,但对某些字符的处理进行了一些更改。稍加修改,示例也可以直接从PHP脚本中的系统调用运行。有关在这些替代环境中使用ImageMagick命令的更多信息,请参阅Windows用法和API和脚本。欢迎投稿和测试示例。还应该可以修改这些示例中的任何一个,以使用来自Perl、C、C++、Ruby、PHP等语言的IMAPI。我建议您先在命令行上尝试,直到正确为止,然后将操作转换为您正在使用的特定API。虽然这种情况在IM版本6中有了很大的改善,但是命令行在任何时候实际上都只处理单个图像序列。但是API没有这个限制,可以单独操作多个图像序列,也可以一起操作多个图像序列,以执行更复杂的操作。这种能力使得使用IMAPI实现这些示例变得更简单,并消除了将图像另存为临时文件的需要,正如许多命令行示例所需的那样。使用API时,只需将永久和半永久映像保存到磁盘。基本上,让示例页面给您一个开始,让您了解使用ImageMagick可以实现的功能。那么,Fo