我正试图在计算机上获得图像的主色。
我在使用此代码之前安装了imagemagick
和dominant-color
。
我得到undefined
和000000
的结果。
为什么会这样?我做错了什么?
var AWS = require('aws-sdk'),
fs = require('fs');
var express = require("express");
var app = express();
const resizeImg = require('resize-img');
var color = require('dominant-color'),
imgPath = './Users/ADIBAR/Desktop/cloud/beach_life-normal.jpg';
color(imgPath,function(err,color){
console.log(color);
})
color(imgPath,{format:'rgb'},function(err,color){
console.log(color);
})
// For dev purposes only
AWS.config.update({ accessKeyId: '', secretAccessKey: '' });
var fileStream = fs.createReadStream('beach_life-normal.jpg');
fileStream.on('error', function (err) {
if (err) { throw err; }
});
fileStream.on('open', function () {
var s3 = new AWS.S3();
resizeImg(fs.readFileSync('beach_life-normal.jpg'), {width: 128, height:128}).then(buf => {
fs.writeFileSync('beach_life-normal-new.jpg', buf);
//upload//
s3.putObject({
Bucket: 'adinoauploadefile',
Key: 'beach_life-normal-new.jpg',
Body: 'beach_life-normal-new.jpg'
}, function (err) {
if (err) { throw err; }
});
});
});
答案 0 :(得分:0)
看起来您的问题在于图像路径 - 使用绝对路径:
imgPath = 'C:/[path to your file]/Users/ADIBAR/Desktop/cloud/beach_life-normal.jpg';
或相对的(将图像放在与脚本相同的文件夹中):
imgPath = './beach_life-normal.jpg