canvas中的imageData如何缩放

现在有一个需求
在canvas A上getImageData(0,0,200,200)获取到一个裁剪后的imageData,
然后在canvas B(width=100 height=100)上putImageData ,但是需要是等比例缩放后的iamgeData。

我现在的做法是 新建一个虚拟的canvas设置width=200,height=200,
然后放入刚才得到的imageData,再通过一个toDataURL 放到一个image对象上,
改变这个image对象的width 和 height, width = 100, height = 100,
再通过drawImage(image,0,0,100,100)绘制到canvas B上。

但是使用上觉得有点卡顿,请问有更好的办法吗

阅读 11k
1 个回答

如果你的canvas A是从某个图片源img通过drawImage绘制的,那么你可以在canvas B上同样使用drawImage,将canvas A的图片源img剪切、缩放再绘制到canvas B上

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进