首页 > 解决方案 > 在Nodejs中创建ImageBitmap?

问题描述

createImageBitmap在节点中可用吗?ImageBitmap 上的MDN 文档表明这是一个仅限 Web 的 API。在某些情况下,我使用node-canvas加载图像,并且我想将该图像存储为位图:

import { loadImage } from 'canvas';

const bitmaps = {}

async function saveMyBitmap(imageURL) {

  const image = await loadImage(imageURL);
  const myBitmap = await createImageBitmap(image, 0, 0, 256, 256);
  bitmaps['my-bitmaps-name'] = myBitmap

}

稍后在代码中,我需要将此位图写入画布,以便获取一些像素数据:

import { createCanvas } from 'canvas';

function getDataFromStoredBitmap() {

  const canvas = createCanvas(256, 256);
  const ctx = canvas.getContext('2d');
  ctx.drawImage(bitmaps['my-bitmaps-name'], 0, 0, 256, 256);
  const pixelData = ctx.getImageData(x, y, 1, 1); // coords of desired pixel
  // do some more stuff with pixelData

}

我希望有一种createImageBitmap在浏览器nodejs 中都可以使用的方法。有没有办法做到这一点?

标签: javascriptnode.jsimage-processingcanvasbitmap

解决方案


推荐阅读