Uint8Array based Image:复制子图像的最快方法

时间:2017-09-09 05:13:01

标签: javascript typed-arrays

我有一个RGBA图像表示为Uint8Array,我想以最快的方式将该图像的子矩形复制到一个新的数组中。

目前我这样做:

let sourceImage = { width: 640, height: 400, data: new Uint8Array( 640 * 480 * 4 ) };
let destImage = { width: 100, height: 100, data: new Uint8Array( 100 * 100 * 4 ) };
let offX = 100, offY = 50;

for( y=0; y < destImage.height; ++y )
{
  let toCopyArray = sourceImage.data.subarray( (offY+y) * sourceImage.width * 4 + offX * 4, (offY+y) * sourceImage.width * 4 + offX * 4 + image.width * 4 );
  destImage.data.set( toCopyArray, y * destImage.width * 4 );
}

有更快的方法吗?

0 个答案:

没有答案