Canvas缩放后绘制问题?

使用canvas向一个Bitmap上绘制图形时,对这个bitmap进行缩放处理后再次进行绘制,因为绘制图形是使用永真循环进行绘制,这时候我们再次绘制的的线段会随着缩放进行缩放出现与我们触摸点坐标不同,这时候应该怎么处理呢?

已邀请:

eric1386

赞同来自: richway jackch1886 brainr chenfulai hh337

不是很清楚你在说什么……js为什么会用永真循环来绘制,不应该setTimeout么。



canvas的缩放的话,你可以这样,先把想对于原始大小的缩放中心点平移到原点,以这个中心点缩放,然后再把要画的东西,看作是从(0, 0),平移到画布上的绘制目标点,最后绘制就行了。



稍微写了一个
http://jsfiddle.net/Z9hLj/3/

感觉如果放大倍数太大的时候会有精度误差,是js的问题吗?



那就这样:
http://jsfiddle.net/E6LTt/2/

另外,拖拽的 敏感度你可能得自己修一下,太敏感的话鼠标不好点。

huyanliang

赞同来自: qweqwe eric1386 ziyiyeqing

canvas的缩放的概念不是用css来定义canvas的大小缩放,而是进行重绘 在重绘的时候缩放绘制的比例。



样式上的缩放会让canvas的坐标混乱

要回复问题请先登录注册