小编Say*_*yet的帖子

加速画布的 getImageData

我需要从画布中提取像素块并处理它们。目前我getImageData在嵌套循环中多次调用。

_getBinaryStringFromCanvas(canvas) {
  let ctx = canvas.getContext('2d')
  let { xMaxBlock, yMaxBlock, blockSize } = this.metrics;
  let results = '';
  for (let y = 0; y < yMaxBlock; y++) {
    for (let x = 0; x < xMaxBlock; x++) {
      let data = ctx.getImageData(x * blockSize, y * blockSize, blockSize, blockSize);
      let digit = this._somehowProcessTheData(data);
      binaryString += digit;
    }
  }
  return binaryString;
}
Run Code Online (Sandbox Code Playgroud)

这非常慢,因为 xMaxBlock 和 yMaxBlock 可能非常大。理想情况下,我想做这样的事情 -

_getChunkFromCache(cache, x, y, width, height){
  // need help implementing this …
Run Code Online (Sandbox Code Playgroud)

html javascript canvas

5
推荐指数
1
解决办法
2350
查看次数

标签 统计

canvas ×1

html ×1

javascript ×1