2011-08-29 120 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

真棒!谢谢 :) –