尝试使用node.js和GD或imagemagick访问和操作图像
我正在尝试创建驻留在服务器上的jpg的缩略图。我尝试使用node gd和/或node imagemagick,但两者都无法访问该文件:尝试使用node.js和GD或imagemagick访问和操作图像,node.js,imagemagick,gd,Node.js,Imagemagick,Gd,我正在尝试创建驻留在服务器上的jpg的缩略图。我尝试使用node gd和/或node imagemagick,但两者都无法访问该文件: var gd = require('node-gd'); gd.openJpeg("./test.jpeg", function (img, path) { if (img) { console.log("file opened ... " + img); } else { console.log("fai
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:
var im = require('imagemagick');
im.identify('./test.jpeg', function (err, features) {
if (err) throw err;
console.log(features);
});
日志:错误:命令失败:execvp():没有这样的文件或目录
但是test.jpeg文件肯定在那里
var fs = require('fs');
fs.open(filePath, 'r', function (err, fd) {
console.log("open file ... " + err + " " + fd);
});
很好!?没有记录任何错误
我在jpeg上试用了chmod 0777。什么都没有。根据我对节点imagemagick模块文档的理解,该模块提供了对imagemagick的comandline二进制文件的访问。您是否安装了imagemagick(命令行二进制文件)?它们在你的路径上吗 您正在寻找一个名为“Identity”的二进制文件。您可以通过运行“whichidentify”来显示它的路径。它应该给你一个完整的路径——如果提示刚刚返回,说明你没有安装它或者它不在你的路径中 如果您使用的是win32,那么该命令将不起作用,您必须检查名为Identity.exe的二进制文件 (从未与gd合作过-因此我对此不确定) 以下是代码的imagemagick示例-请注意,要识别的路径在您的环境中可能不同:
snowflake:Desktop rhaen$ node check_im.js
{ format: 'JPEG', width: 320, height: 250, depth: 8 }
snowflake:Desktop rhaen$ which identify
/usr/local/bin/identify
所以-节点模块和您的代码适合我。太好了,这对我使用imagemagick很有帮助。我重新安装了它,它工作了。谢谢。GD的问题是,当前的节点版本似乎有缺陷。降级到0.1.6,它又开始工作了。