码迷,mamicode.com
首页 > 其他好文 > 详细

ImageMagick命令工具的执行路径思考

时间:2017-05-15 18:28:45      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:server   理解   alt   选项参数   opera   gic   ati   script   check   

此文为论坛内容转述

原帖地址:https://www.imagemagick.org/discourse-server/viewtopic.php?t=20542

技术分享

1. utilities/convert.c中的main函数在IMv7中已经在主流程的utilities/magick.c中被废弃掉了

2. 实际上这个命令调用了一个wrapper函数MagickCommandGenesis(),这个打包函数能够处理诸如“-resize -bench"这样的选项,然后这个函数将清洗好的选项参数给到处理请求的真正函数里面,这个函数往往是作为MagickCommandGenesis()函数的一个参数

3. 对于convert命令来说这个实际的函数就是ConvertImageCommand(),它位于”wand/convert.c",这个函数真正来理解这些参数数组到底需要干嘛

4. 这个函数的大部分内容复杂且对高版本用户来说无用,大部分代码需要做参数check以及对IMv5内容的处理。真正的在IMv6版本中的处理是由 "wand/mogrify.c" 中的函数处理的,这个函数由FireImageStack() 宏来调用

5. IMv7更加直接, 没有macro代码,首先在"MagicWand/magick-cli.c"进行参数处理,然后调用ProcessCommandOptions() 或者ProcessScriptOptions() 处理参数选项,对应不同的选项它会调用不同的函数(位于"MagickWand/operation.c"中)来处理对应的选项。

6. IMv7的选项处理未来将会替代IMv6的模式,magick命令也将取代convert

 

ImageMagick命令工具的执行路径思考

标签:server   理解   alt   选项参数   opera   gic   ati   script   check   

原文地址:http://www.cnblogs.com/derekxyw/p/6857233.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!