【发布时间】:2011-07-20 04:10:33
【问题描述】:
我正在尝试将 Imagemagick convert.exe 与 Flex4 NativeProcess 一起使用。我知道我已经正确配置了它,因为我可以通过一个没有转换选项的简单调用获得成功的结果。
convertOptions = ':srcFilename,:destFilename'; // command (1)
// command processing
var srcFilename:String = 'C:\\USERS\\ ... \\DC\\P1040011.JPG';
var destFilename:String = 'W:\\ ... \\sq~P1040011.JPG';
convertOptions = convertOptions.replace(':srcFilename', srcFilename);
convertOptions = convertOptions.replace(':destFilename', destFilename);
var processArgs:Vector.<String> = new Vector.<String>();
var parts:Array = convertOptions.split(',');
for (var i:int =0; i<parts.length; i++) {
processArgs.push(parts[i]);
}
nativeProcessStartupInfo.arguments = processArgs;
process.start(nativeProcessStartupInfo);
// (1) e.exitCode=0, image successfully copied to :destFilename
但是,我无法通过 NativeProcess 将简单的命令选项(即 -resize WxH)传递给 convert.exe。以下是我使用与上面相同的代码尝试过的所有变体:
(1) convertOptions = ':srcFilename,:destFilename'
(args passed as Vector.<String>) exit=0 success, convert successful
(2) convertOptions = ':srcFilename :destFilename'
(args passed in 1 line) exit=0, convert failed
onOutputData: shows convert -h output, as if command options malformed
(3) convertOptions = '":srcFilename" ":destFilename"'
(args passed in 1 line, quoted) exit=0, convert failed
onOutputData: shows convert -h output, as if command options malformed
(4) convertOptions = ':srcFilename,-resize 75x112,:destFilename'
(args passed as Vector.<String>) exit=1, convert failed
onErrorData - convert.exe: unrecognized option '-resize 75x112' @ error/convert.c/ConvertImageCommand/2344.
(5) convertOptions = ':srcFilename,"-resize 75x112",:destFilename'
(passed as array with -resize option quoted) exit=1, convert failed
onErrorData - convert.exe: unable to open image '"-resize 75x112"': Invalid argument @ error/blob.c/OpenBlob/2489.
(6) convertOptions = ':srcFilename -resize 75x112 :destFilename'
(args passed in 1 line) exit=0, convert failed
onOutputData: shows convert -h output, as if command options malformed
谁能提供建议?
【问题讨论】:
标签: flash actionscript-3 flex4 air