2011-08-29 73 views
2

我想的是,轉換的彩色圖像爲灰色在WebOS的(enyo)在畫布上規模的樣品代碼尺度變換。當我使用ctx.getImageData方法讀取像素時,imageData只包含零。顏色以灰色在畫布

http://chopapp.com/#x8t2ymad

是否從帆布的WebOS支持讀像素數據:我現在用的樣品在下面的鏈接提供?我在這裏做錯了什麼?

我已經refered以下鏈接,邏輯和代碼:

http://net.tutsplus.com/tutorials/javascript-ajax/how-to-transition-an-image-from-bw-to-color-with-canvas/

這工作得很好。

回答

3

您應該從加載事件的圖像中移動回調中的getimagedata。

類似:

draw: function(image) { 
    this.ctx.drawImage(event.target, 0, 0); 
    this.greyImage(); 
}, 

,並結合事件

image.onload = enyo.bind(this, "draw"); 
image.src = "images/image.png"; 

後設置源,以避免賽車條件

現在圖象 - 被實際像素是之前所獲取加載。這導致一個空數組。

+0

真棒!謝謝 :) –