1

使用 gm 包时出现奇怪的错误。我使用 Windows x86。我已经安装了 gm,也安装了 imagemagick。

这是我的代码:

function convert(response, next) {
            console.time("convertImage");
            console.log("Reponse content type : " + response.ContentType);
            console.log("Conversion");

            GM(response.Body, fullName).setFormat('jpeg').antialias(true).density(300).toBuffer(
                function(err, buffer) {
                    if (err) {
                        next(err);
                    } else {
                        console.timeEnd("convertImage");
                        next(null, buffer);
                    }
                });
        }

这是我得到的错误:

Debug: internal, implementation, error
    Error: Command failed: identify.exe: no decode delegate for this image forma
t `' @ error/constitute.c/ReadImage/501.

    at ChildProcess.proc.on.onExit (d:\node.js\ImageUploaderWorker\node_modules\
gm\lib\command.js:297:17)
    at emitTwo (events.js:87:13)
    at ChildProcess.emit (events.js:172:7)
    at maybeClose (internal/child_process.js:827:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5)

您可以看到 imagemagick 支持 jpeg,因为我不明白我的问题是什么。

$ convert --version
Version: ImageMagick 6.9.3-8 Q16 x86 2016-04-10 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2015 ImageMagick Studio LLC
License: http://www.imagemagick.org/script/license.php
Visual C++: 180040629
Features: Cipher DPC Modules OpenMP
Delegates (built-in): bzlib cairo freetype jng jp2 jpeg lcms lqr openexr pangoca
iro png ps rsvg tiff webp xml zlib
4

0 回答 0