canvas绘制点位时想要点位能够在canvas画布可视范围内全部显示

canvas画布点位居中显示问题求指教

我现在的解决思路是: 点击保存canvas画布信息时通过遍历所有点,计算画布上实际点位的最大最小值得到一个矩形框获得实际地图宽高,再通过像素长度与实际长度、像素宽度与实际宽度 计算出长度与宽度的变化率 取两者中的最大值 然后再将左上角坐标减去变化后的中心点坐标除以变化率,得到视觉偏移量 使用计算出的缩放因子k 和偏移量x、y 重新绘图
问题出现在: 有些地图点位 可以达到想要效果在canvas可视范围内出现 但有一些地图点位会不在可视区范围内。 排查到我已知的问题 可能是缩放量过小导致倍数放大很多 也可能是偏移值让点位不在可视范围 而出现这个原因是缩放量是根据canvas画布上的点位计算出实际长宽导致的 可有什么办法能解决因实际长宽而影响缩放比的方法 让其能够解决canvas画布中点位少实际宽高小缩放量比大的问题

讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!