• 翻转y轴,保持原图像

    参数

    • curPos: Point

      当前坐标点

    • curView: Point

      当前坐标容器宽高

    返回 Point

    // 直接转换

    // 3 │*
    // 2 │
    // 1 │
    // -------------
    // 0 1 2 3

    // [0, 3] 转换为 [0, 0]

    // 0 1 2 3
    // -*-----------
    // 1 │
    // 2 │
    // 3 │

    rectCoordToScreen([0, 3], [3, 3]); // [0, 0]

    // 3 │
    // 2 │
    // 1 │
    // -*------------
    // 0 1 2 3

    // [0, 0] 转换为 [0, 3]

    // 0 1 2 3
    // -------------
    // 1 │
    // 2 │
    // 3 │*

    rectCoordToScreen([0, 0], [3, 3]); // [0, 3]

    // 3 │
    // 2 │
    // 1 │ *
    // --------------
    // 0 1 2 3

    // [1, 1] 转换为 [1, 2]

    // 0 1 2 3
    // -------------
    // 1 │
    // 2 │ *
    // 3 │

    rectCoordToScreen([1, 1], [3, 3]); // [1, 2]

    rectCoordToScreen([5, 5], [20, 20]); // [5, 15]
  • 按比例转换,图像会翻转

    参数

    • curPos: Point

      当前坐标点

    • curView: Point

      当前坐标容器宽高

    • targetView: Point

      目标坐标容器宽高

    • 可选keep: false

      是否保持原图像

    返回 Point

    // 按比例转换,并翻转图像


    // 2 │
    // 1 │
    // -*--------
    // 0 1 2

    // [0, 0] 转换为 [0, 0]

    // 0 1 2 3
    // -*------------
    // 1 │
    // 2 │
    // 3 │
    rectCoordToScreen([0, 0], [2, 2], [3, 3]); // [0, 0]

    // 3 │
    // 2 │
    // 1 │ *
    // -------------
    // 0 1 2 3

    // [0, 3] 转换为 [0, 0]

    // 0 1 2 3
    // -------------
    // 1 │ *
    // 2 │
    // 3 │

    rectCoordToScreen([1, 1], [3, 3], [3, 3]); // [1, 1]

    rectCoordToScreen([5, 5], [20, 20], [30, 30]); // [7.5, 7.5]
  • 按比例转换,保持原图像 综合以上两种效果:按比例+保持原图像 翻转

    参数

    • curPos: Point

      当前坐标点

    • curView: Point

      当前坐标容器宽高

    • targetView: Point

      目标坐标容器宽高

    • keep: true

      保持为原图像

    返回 Point

    // 3 │*
    // 2 │
    // 1 │
    // -------------
    // 0 1 2 3

    // [0, 3] 转换为 [0, 0]

    // 0 1 2 3
    // -*-----------
    // 1 │
    // 2 │
    // 3 │
    rectCoordToScreen([0, 3], [3, 3], [3, 3], true); // [0, 0]

    // 3 │
    // 2 │
    // 1 │ *
    // --------------
    // 0 1 2 3

    // [1, 1] 转换为 [1, 2]

    // 0 1 2 3
    // -------------
    // 1 │
    // 2 │ *
    // 3 │

    rectCoordToScreen([1, 1], [3, 3], [3, 3], true); // [1, 2]


    rectCoordToScreen([5, 5], [20, 20], [30, 30], true); // [7.5, 22.5]