Javascript 通过在顶部和左侧添加空间来调整画布的大小。。?

Javascript 通过在顶部和左侧添加空间来调整画布的大小。。?,javascript,html,canvas,Javascript,Html,Canvas,是否可以通过在画布的顶部和左侧添加新的空间来调整画布的大小?是否可以在画布的左侧添加dx像素和顶部添加dy像素?如果是这样的话,如果当前画布非常大,那么最好的优化解决方案是什么?是的,这在内存画布上是可能的。您所要做的就是通过将画布位图绘制到内存中的临时画布来“保存”画布位图,调整画布大小,然后将旧位图绘制到正确的位置 下面是一个活生生的例子: 是的,这可以通过内存画布实现。您所要做的就是通过将画布位图绘制到内存中的临时画布来“保存”画布位图,调整画布大小,然后将旧位图绘制到正确的位置 下面是一

是否可以通过在画布的顶部和左侧添加新的空间来调整画布的大小?是否可以在画布的左侧添加
dx
像素和顶部添加
dy
像素?如果是这样的话,如果当前画布非常大,那么最好的优化解决方案是什么?

是的,这在内存画布上是可能的。您所要做的就是通过将画布位图绘制到内存中的临时画布来“保存”画布位图,调整画布大小,然后将旧位图绘制到正确的位置

下面是一个活生生的例子:


是的,这可以通过内存画布实现。您所要做的就是通过将画布位图绘制到内存中的临时画布来“保存”画布位图,调整画布大小,然后将旧位图绘制到正确的位置

下面是一个活生生的例子:


那么,为什么不在同一画布中使用
getImageData
putImageData
呢?那不是更好/更快吗。。?我的画布很大-超过10k*10k
ImageData
实际上比使用
drawImage
的速度要慢得多!使用
drawImage
将其保持为位图应该快约35倍。那么为什么不在同一画布中使用
getImageData
putImageData
呢?那不是更好/更快吗。。?我的画布很大-超过10k*10k
ImageData
实际上比使用
drawImage
的速度要慢得多!使用
drawImage
将其保持为位图应该快约35倍。