【问题标题】:Pan + Zoom HTML5 canvas grid with pinned first column平移 + 缩放 HTML5 画布网格,第一列固定
【发布时间】:2012-03-18 11:11:14
【问题描述】:

我想创建一个带有固定第一列的 HTML5 画布网格(MS Excel 有类似的选项)。 到目前为止,我已经能够创建以下内容:http://jsfiddle.net/dobbylan/AbnpE/

我根据 Phrogz 在此处的帖子添加了平移 + 缩放功能:Zoom Canvas to Mouse Cursor

但是,我在平移 + 缩放和固定列时遇到以下困难:

  • 我想防止将画布向右平移到比第一列更远的位置,即第一列最多可以在左边框处。 (同样适用于上边框和向下平移)
  • 缩放时,缩放第一列时出现问题,我无法修复

有人可以帮我解决这个问题吗?

【问题讨论】:

    标签: javascript html canvas zooming panning


    【解决方案1】:

    检查一下这个小提琴:

    http://jsfiddle.net/U8BE5/1/

    它应该为您提供一些关于如何处理边界条件(也包括缩放)的想法。

    我不确定你为什么选择使用两个画布而不使用 jQuery,这可能弊大于利。

    边界的相关代码:

    if (gX > 0) gX = 0;
    if (gX < canvas.width - gW * gScale) gX = canvas.width - gW * gScale;
    if (gY > 0) gY = 0;
    if (gY < canvas.height - gH * gScale) gY = canvas.height - gH * gScale;
    

    查看我在小提琴中的一般方法,看看你是否想稍微改变一下你的策略。

    老实说,我无法遵循您的某些代码。

    【讨论】:

      猜你喜欢
      • 2014-09-14
      • 2018-05-13
      • 2017-05-30
      • 1970-01-01
      • 2012-12-06
      • 2014-01-04
      • 2012-07-27
      • 2011-09-29
      • 2016-11-11
      相关资源
      最近更新 更多