我需要从画布中提取像素块并处理它们。目前我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)