如何调整画布内容并获得调整大小(压缩)的图像Base64数据?

我玩的 canvas 并且创造了一个演示。

现在我可以画东西,帆布和获取数据 .toDataURL()

一切都完美,除了图像的数据太大了。 我只需要一个很小的版本的图纸。

有什么方法(可能),我可以调整画布上一个较小的版本和负载大小的图像数据? 它有点像压缩图像的纯JavaScript。

例如,我让用户利用1000 px * 500像素的画布,调整到50 px * 25 px。 调整base64数据将会非常小,方便进一步的网络传输。 这就是我想要的。