【发布时间】:2011-08-29 07:13:36
【问题描述】:
我正在尝试在 WebOS (enyo) 的画布上将彩色图像转换为灰度的示例代码。当我使用 ctx.getImageData 方法读取像素时,imageData 只包含零。我正在使用的示例在以下链接中提供:
WebOS 是否支持从画布读取像素数据?我在这里做错了吗?
逻辑和代码我参考了以下链接:
这很好用。
【问题讨论】:
标签: javascript canvas webos enyo
我正在尝试在 WebOS (enyo) 的画布上将彩色图像转换为灰度的示例代码。当我使用 ctx.getImageData 方法读取像素时,imageData 只包含零。我正在使用的示例在以下链接中提供:
WebOS 是否支持从画布读取像素数据?我在这里做错了吗?
逻辑和代码我参考了以下链接:
这很好用。
【问题讨论】:
标签: javascript canvas webos enyo
您应该从图像的 onload 事件 中移动 callback 中的 getimagedata。
类似:
draw: function(image) {
this.ctx.drawImage(event.target, 0, 0);
this.greyImage();
},
并在绑定事件后设置源
image.onload = enyo.bind(this, "draw");
image.src = "images/image.png";
为了避免赛车状况
现在图像数据被检索之前实际像素被加载。这会导致一个空数组。
【讨论】: