首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试使用node.js和GD或imagemagick访问和操作图像

尝试使用node.js和GD或imagemagick访问和操作图像
EN

Stack Overflow用户
提问于 2011-08-11 05:38:32
回答 1查看 1K关注 0票数 0

我正在尝试创建驻留在服务器上的jpg的缩略图。我尝试使用node-gd和/或node-imagemagick,但两者都无法访问该文件:

代码语言:javascript
复制
var gd = require('node-gd');
gd.openJpeg("./test.jpeg", function (img, path) {
    if (img) {
        console.log("file opened ... " + img);
    }
    else {
        console.log("failed to open file ...");
    }
});

日志:无法打开文件...

imagemagick:

代码语言:javascript
复制
var im = require('imagemagick');
im.identify('./test.jpeg', function (err, features) {
  if (err) throw err;
  console.log(features);
});

日志:错误:命令失败: execvp():没有这样的文件或目录

但是test.jpeg文件肯定在那里。

代码语言:javascript
复制
var fs = require('fs');
fs.open(filePath, 'r', function (err, fd) {
    console.log("open file ... " + err + " " + fd);
});

工作正常!?未记录任何错误。

我在jpeg上尝试了chmod 0777。没什么。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-11 06:35:19

根据我对node的imagemagick模块文档的了解,该模块提供了对imagemagick的comandline二进制文件的访问。您是否安装了imagemagick (命令行二进制文件)?他们在你的shell的路径上吗?

您正在寻找一个名为"identify“的二进制文件。你可以通过运行"which identify“来显示它的路径。它应该给你一个完整的路径-如果提示只是返回,你没有安装它或它不在你的路径中。

如果您使用的是win32,则必须检查名为identify.exe的二进制文件。

(从未与gd一起工作过-所以我不确定)

以下是您的代码的imagemagick示例-请注意,在您的环境中识别的路径可能会有所不同:

代码语言:javascript
复制
snowflake:Desktop rhaen$ node check_im.js 
{ format: 'JPEG', width: 320, height: 250, depth: 8 }
snowflake:Desktop rhaen$ which identify
/usr/local/bin/identify

所以-节点模块和你的代码为我工作。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7018181

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档