html5 canvas 拖拽绘图对象

kouwenlong 2014-06-13 08:57:59
对canvas上的绘图对象,比如园进行拖拽时,简单的方法就是根据鼠标的移动位置,不断重绘的过程,数据量也还可以接受。但是如果对于有多个点的曲线,该怎么操作,如果也是每个点也是不断的重绘,效率很低。根据网上说的,用图层可以解决,请问该怎么解决?如果有别的办法,是个什么思路?谢谢大家。
...全文
385 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
KK3K2005 2014-06-16
  • 打赏
  • 举报
回复
引用 4 楼 kouwenlong 的回复:
[quote=引用 3 楼 KK3K2005 的回复:] 这个 动态显示 就是 不断的刷新重绘 的过程 只能 优化小性能 比如 只刷新 需要重绘的区域 但是 刷新 绘制 这个过程 不能少
谢谢你给我及时的回复啊。如果点很多的话,重绘也会不连贯吧?不知道你了解图层吗?我想图层可能是个好的解决方案,但是不知道该怎么去做。[/quote] canvas就看成图层吧
风吹腚腚凉 2014-06-13
  • 打赏
  • 举报
回复
我的解决办法比较笨,加个线程,没过一段时间执行一次线程,鼠标松开终止线程。
kouwenlong 2014-06-13
  • 打赏
  • 举报
回复
引用 3 楼 KK3K2005 的回复:
这个 动态显示 就是 不断的刷新重绘 的过程 只能 优化小性能 比如 只刷新 需要重绘的区域 但是 刷新 绘制 这个过程 不能少
谢谢你给我及时的回复啊。如果点很多的话,重绘也会不连贯吧?不知道你了解图层吗?我想图层可能是个好的解决方案,但是不知道该怎么去做。
KK3K2005 2014-06-13
  • 打赏
  • 举报
回复
这个 动态显示 就是 不断的刷新重绘 的过程 只能 优化小性能 比如 只刷新 需要重绘的区域 但是 刷新 绘制 这个过程 不能少
kouwenlong 2014-06-13
  • 打赏
  • 举报
回复
引用 1 楼 KK3K2005 的回复:
一种简单的方法 假定你的操作 是 指定类型 鼠标按下 鼠标移动 鼠标放开 按下的时候 就要在原始的 canvas上 覆盖一个canvas 移动时候 更具指定类型 和移动轨迹 在覆盖的canvas上 刷新绘制 放开 就是 吧覆盖的canvas的内容 添加绘制到原始的canvas上
恩。想问问还有没有效率高一点的方法。毕竟拖拽曲线,需要不断的进行重绘。
KK3K2005 2014-06-13
  • 打赏
  • 举报
回复
一种简单的方法 假定你的操作 是 指定类型 鼠标按下 鼠标移动 鼠标放开 按下的时候 就要在原始的 canvas上 覆盖一个canvas 移动时候 更具指定类型 和移动轨迹 在覆盖的canvas上 刷新绘制 放开 就是 吧覆盖的canvas的内容 添加绘制到原始的canvas上

39,083

社区成员

发帖
与我相关
我的任务
社区描述
HTML5是构建Web内容的一种语言描述方式。HTML5是互联网的下一代标准,是构建以及呈现互联网内容的一种语言方式.被认为是互联网的核心技术之一。
社区管理员
  • HTML5社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧