canvas放大缩小的抖动问题

发布于 7 年前作者 leilin2275 次浏览最后编辑 7 年前来自 ask

使用transform属性作用于canvas的时候,canvas里面的内容没有随着放大或者缩小

由于放大过程中有产生偏移量,使用drawImage(放大图片)和transform(放大图片中产生的偏移量使用transform)作用于canvas实现放大效果时,会导致canvas里面的draw的内容剧烈抖动,这个有办法解决吗?

3 回复
xiulandeng
xiulandeng1 楼6 年前

真机的话,transform可以作用于canvas,但是对于里面绘制的内容就没有放大或者缩小的效果,移动倒是有效果,但是transform会让里面绘制的内容移动过程中有抖动现象(绘制的是很多的小rect)


调试器很多效果…都和真机不太一样

xiulandeng
xiulandeng2 楼6 年前

可能是用法问题:如下代码可以生效:

ctx.transform(); // 变换
ctx.rect();
ctx.stroke();
ctx.draw(); // 绘制
// 绘制后,变换会被清空
yangli
yangli3 楼5 年前

调试器中使用 setTransform 和 transform 都不生效。