当前坐标点
当前坐标容器宽高
// 直接转换
// 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]
当前坐标点
当前坐标容器宽高
目标坐标容器宽高
可选
keep: false是否保持原图像
// 按比例转换,并翻转图像
// 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]
当前坐标点
当前坐标容器宽高
目标坐标容器宽高
保持为原图像
// 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]
笛卡尔坐标系(平面直角坐标系)转屏幕坐标系
翻转y轴,保持原图像