将html5图像转换< canvas>为drawImage中可用的位图

eanckbw9  于 2022-11-27  发布在  HTML5
关注(0)|答案(1)|浏览(149)

我想将画布图像保存为位图,以便以后在drawImage中使用。
目标是能够改变(例如,调整大小)画布,并保持它的内容(例如,缩放-画布总是一个正方形)。
我试过了:var tmp = createImageBitmap(canvas)ctx.drawImage(tmp,0,0)
我得到的是一个错误,说'tmp'不是位图。

qco9c6ql

qco9c6ql1#

createImageBitmap返回一个Promise,因此结果是异步的,您必须使用await等待它:

const img = await createImageBitmap(canvas);
ctx.drawImage(img, 0, 0);

或者,如果您不能使用await,因为您的目标是ES5,那么请使用传统的方法:

createImageBitmap(canvas).then(img => {
    ctx.drawImage(img, 0, 0);
});

相关问题