如何裁剪转换为 Uint8Array 的图像?

How to crop an image converted to Uint8Array?

我有一个转换为 base64 字符串的图像。我通过代码将 base64 字符串转换为 Uint8Array:

const BASE64_MARKER = ';base64,';
function convertDataURIToBinary(dataURI) {
  const base64Index = dataURI.indexOf(BASE64_MARKER) + BASE64_MARKER.length;
  const base64 = dataURI.substring(base64Index);
  const raw = window.atob(base64);
  const rawLength = raw.length;
  const array = new Uint8Array(new ArrayBuffer(rawLength));
  for (let i = 0; i < rawLength; i++) {
    array[i] = raw.charCodeAt(i);
  }
  return array;
}

我不知道如何裁剪它。你能帮我实现算法吗?

谢谢 mpm 和 YAHsaves。 我决定使用 canvas,它工作起来简单快捷。 这里是link到npm package。我希望,它可以帮助其他人使用 canvas.

在浏览器中裁剪和调整图像大小