如何使用node-imagemagick进行裁剪,将缓冲区作为输入,将stdout作为输出?

时间:2012-11-09 21:15:29

标签: imagemagick imagemagick-convert node-imagemagick

我第一次使用node-imagemagick。 免责声明:我从来没有使用过imagemagick,也不是一个javascript的家伙。大多数经验都是用C / C ++,Objective-C。

我正在编写一个服务器端进程的片段,需要获取输入缓冲区,将其裁剪到任意边界,然后在stdout中输出。

目前,我的代码如下所示:

var im = require('imagemagick');
...
im.convert([
    binaryDataBlock,
    '-crop',
     cropStr], function(err, stdout, stderr) {....

我知道我的输入很好......我用imagemagick的“调整大小”例程完成了这个。 “cropStr”是一个字符串,“100x100 + 10 + 10” - 任意值都会在这里。

但我仍然在stderr中收到错误:

  "result" : "convert: unable to open image `����':  @ error/blob.c/OpenBlob/2587.\nconvert: no decode delegate for this
     

图片格式����' @ error/constitute.c/ReadImage/532.\nconvert: option requires an argument - 裁剪'@ error / convert.c / ConvertImageCommand / 1081。\ n“

我尝试过输入“-format”参数,我认为这会设置输出格式。但后来它抱怨这个论点。

我觉得我在这里遗漏了一些明显的东西。仅仅裁剪到图像中的任意矩形应该不难。

非常感谢任何帮助。

0 个答案:

没有答案