我正在编写一个小型演示程序来测试 canvas+ 性能。但是 getImageData()、putImageData() 似乎不起作用。它在画布上留下一个黑色方块。宽度和高度的一半,当然考虑到 window.devicePixelRatio 是 2,某些不兼容的东西必须存在于某处。该程序在 Chrome 浏览器中运行良好。但不能使用 Cocoonjs 启动器 2.1.1。
代码:
I 'm using requestAnimationFrame(loop);
ctx.drawImage(origin_img,0,0,410, 180, 0, 0, width, height);
texture = ctx.getImageData(0,0,width,height);
loop{
ctx.clearRect(0,0,ctx.canvas.width,ctx.canvas.height);
ctx.fillStyle = 'red';
ctx.fillRect(0,0,width, height);
ctx.putImageData(texture, 0, 0);
}
结果是:我可以看到一个红色矩形,上面有一个 1/4 大小的黑色矩形。有人可以帮我吗?
ctx.drawImage() 将在程序中工作。
===============================
谢谢两位!我在http://spikeyang.boxshell.com/static/js/src.zip上发布了我的代码
请点击第三个链接 water_ripple 查看结果。请点击右上角按钮返回主页。主 js 文件是 js/demo.js。主要函数是 waterRippleLoop()。我正在尝试一些水波纹模拟代码。