2013-05-03 71 views
4

我當前正試圖弄清楚如何使用Node.js gm graphicsMagic包裝獲取單個像素。我的總體目標是在圖像中獲得百分比前10位的顏色。我正在嘗試編寫幾個函數,這些函數將使我得到我的結果,但對於我的生活,我無法弄清楚使用gm包裝來獲取像素本身。看來,GraphicsMagick有一個GetPixels方法,但我沒有運氣可以調用它。任何幫助將不勝感激。如何使用Node.js獲取像素gm graphicsMagick包裝

謝謝!

+0

你對這件事有好消息嗎?我碰巧找到和你一樣的情況。謝謝! – Korcholis 2014-01-30 18:45:32

回答

6

我想獲得一個圖像的平均顏色,我用下面的腳本解決了這個問題:

gm(file).setFormat('ppm') 
    .resize(1, 1) 
    .toBuffer(function (err, buffer) { 
     var color = "rgb(" + buffer.readUInt8(buffer.length - 3) 
      + "," + buffer.readUInt8(buffer.length - 2) 
      + "," + buffer.readUInt8(buffer.length - 1) + ")"; 
     // ... 
    }); 

基本上,你可以裁剪圖像,並將其轉換爲PPM格式讀取來自像素緩衝。根本不是最優的,我真的希望有一個更好的解決方案,但對我來說這已經足夠好了。

編輯:另一種選擇可能是使用Custom Arguments

相關問題