gpt4 book ai didi

node.js - 如何为 graphicsmagick 配置 JPEG 委托(delegate)?

转载 作者:搜寻专家 更新时间:2023-10-31 23:31:58 25 4
gpt4 key购买 nike

我想将图像裁剪到指定的像素区域。我想使用 https://github.com/aheckmann/gm 中的 gm 模块.我正在运行 Linux Mint 13 和 node.js v0.9.4pre。

我遇到了一个听起来像 graphicsmagick 不知道 jpeg 的错误:

Error: Command failed: gm convert: No decode delegate for this image format (./assets/images/temp/2aadd4379e1cf2b59429994270db2a8a.jpg)

果然,gm convert -list formats 显示没有 jpeg 委托(delegate):

<snip>
IPTC P rw- IPTC Newsphoto
IPTCTEXT P rw- IPTC Newsphoto text format
IPTCWTEXT P rw- IPTC Newsphoto text format
K25 S r-- Kodak Photo RAW
<snip>

graphicsmagick 有一个 ftp folder包含代表的源代码(带有 readme 。)所以我下载、解压并安装了 jpegsrc.v6b.tar.gz,正如我的源文件附带的安装文档中所建议的那样。

我很确定 jpeg 库安装了 cjpegdjpeg 以及其他东西。但是,我没有找到 make uninstall 或 list 。我还没有尝试在这个版本上安装任何其他版本的 jpeg 库。安装 jpeg 库后,我卸载并重建了 graphicsmagick。

gm convert -list formats 中仍然没有列出 JPEG 委托(delegate)。

我正在从 Imagemagick 迁移,它在调整 jpeg 大小方面从来没有任何问题,即使我没有安装这个库也是如此。

我必须做什么才能让 graphicsmagic 处理 jpeg?


这是我调用 gm 的方式:

    var gmagic = require('gm');
gmagic(cfg.tmpPath)
.crop(h,w,x0,y0)
.write(cfg.croppedPath, function(err){
if(err){ done(err) }
else { done(null, cfg.croppedPath) };
});

以下是我用来安装 jpeg 库和 graphicsmagick 的命令:

$ cd ~/source
$ wget http://www.ijg.org/files/jpegsrc.v6b.tar.gz
$ tar -xzvf jpegsrc.v6b.tar.gz
$ cd jpeg-6b
$ ./configure
$ make
$ sudo make install

$ cd ~/source
$ wget ftp://ftp.graphicsmagick.org/pub/GraphicsMagick/1.3/GraphicsMagick-1.3.18.tar.xz
$ tar -xJvf GraphicsMagick-1.3.18.tar.xz
$ cd GraphicsMagick-1.3.18
$ ./configure
$ make
$ sudo make install

$ npm install gm

最佳答案

我通过告诉 gm 库使用 imagemagick 二进制文件而不是默认的 graphicsmagic 二进制文件找到了一个成功的解决方法:

var gmagic   = require('gm');
var imagic = gmagic.subClass({imageMagick: true});
...
imagic(cfg.tmpPath)
.crop(h,w,x0,y0)
.write(cfg.croppedPath, function(err, stdout, stderr, command){
if(err){ next(err) }
else { next(null, raft) };
});

关于node.js - 如何为 graphicsmagick 配置 JPEG 委托(delegate)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16094875/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com