JavaScript canvas ctx.getImageData内存不足

时间:2016-11-26 20:02:41

标签: javascript google-chrome html5-canvas

我在JavaScript中创建了一个绘制摆线的程序。它工作正常,但如果它运行几分钟,它有时会出错,整个过程停止工作。

每个刻度线都会调用

render()函数,并绘制不同的形状。

var c = document.getElementById('canvas');
var ctx = c.getContext('2d');
var imgData;

function render(){
   ctx.putImageData(imgData, 0, 0); //similar to ctx.clearRect()

   //draw a part of a line (I want to show this part of the line and all previous)

   imgData = ctx.getImageData(0, 0, c.width, c.height);

   //darw a pencil (it is moving and I don't want it to leave trail)
}

这是我遇到的错误:

Uncaught RangeError: Failed to execute 'getImageData' on 'CanvasRenderingContext2D': Out of memory at ImageData creation

我的错误仅在Google Chrome中,此代码在其他浏览器(甚至是IE)中运行良好。

为什么会出现问题以及如何修复程序以使其不再生成此错误?

0 个答案:

没有答案