2016-05-11 13 views
4

私は自分のコンピュータ上にある画像の支配的な色を取得しようとしています。 このコードを使用する前にimagemagickとdominant-colorをインストールしました。 未定義の結果と000000が返されます。 なぜそれが起こっていますか?どうしたんだ?画像ノードの支配的な色を取得js

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

'color'コールバックからエラーが発生しますか? – whostolemyhat

+0

はい、 'undefined' – user3488862

+0

'console.log(err)'はあなたに 'undefined'を与えますか?それとも 'console.log(color)'の結果ですか? – whostolemyhat

答えて

0

あなたの問題は、画像のパスであるように見えます - 絶対パスを使用するか:

imgPath = 'C:/[path to your file]/Users/ADIBAR/Desktop/cloud/beach_life-normal.jpg'; 

または相対1(スクリプトと同じフォルダに画像を置く):

imgPath = './beach_life-normal.jpg 
+0

私は前にimgPathを変更しようとしました(画像はmy app.jsと同じフォルダにあります)。同じエラー。 – user3488862

関連する問題