[发明专利]一种基于鼠标位置实现GDI电子矢量地图缩放及平移的方法有效
申请号: | 201510276310.0 | 申请日: | 2015-05-26 |
公开(公告)号: | CN104898947B | 公开(公告)日: | 2017-09-12 |
发明(设计)人: | 陈敏;屈景怡;吴仁彪 | 申请(专利权)人: | 中国民航大学 |
主分类号: | G06F3/0484 | 分类号: | G06F3/0484;G06F3/0485 |
代理公司: | 天津才智专利商标代理有限公司12108 | 代理人: | 庞学欣 |
地址: | 300300 天*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 鼠标 位置 实现 gdi 电子 矢量 地图 缩放 平移 方法 | ||
技术领域
本发明属于电子矢量地图处理技术领域,特别是涉及一种基于鼠标位置实现GDI电子矢量地图缩放及平移的方法。
背景技术
GDI(Graphics Device Interface)含义为图形设备接口,主要任务是负责Windows操作系统与绘图程序之间的信息交互,处理所有Windows应用程序的图形输出。与OpenGL、GDI+、Driect X等绘图引擎相比,GDI具有绘图效率高、使用简单的优点,因而广泛的应用于二维矢量地图的绘制中。然而GDI只能提供基本的二维图形绘制功能,但无法提供二维图形变换功能,因而难以实现电子矢量地图的缩放与平移等高级功能,而OpenGL、GDI+、Driect X等均具有相关的实现函数。另外,现有的GDI电子矢量地图软件在进行缩放操作时,均是以屏幕中心点为参考点对屏幕内绘图对象的像素点按缩放比例换算,但缺点是缩放时矢量地图会发生漂移。
发明内容
为了解决上述问题,本发明的目的在于提供一种基于鼠标位置实现GDI电子矢量地图缩放及平移的方法。
为了达到上述目的,本发明提供的基于鼠标位置实现GDI电子矢量地图缩放及平移的方法包括按顺序进行的下列步骤:
步骤一、建立地图坐标系及屏幕坐标系;
步骤二、建立参考矩形,并设置参考矩形的实际长度和实际高度、屏幕长度和屏幕高度及顶点屏幕坐标,由此在地图坐标系与屏幕坐标系之间建立映射关系;
步骤三、获取鼠标滚轮消息,计算缩放因子;根据鼠标移动的距离,计算鼠标平移因子;
步骤四、根据鼠标的当前位置、缩放因子及鼠标平移因子,计算出缩放平移后新的参考矩形的屏幕位置,实现对参考矩形的缩放及平移;
步骤五、根据参考矩形重新计算矢量地图的屏幕坐标,实现对矢量地图的缩放及平移操作。
在步骤一中,所述的地图坐标系是以正东方向为X轴,以正北方向为Y轴;屏幕坐标系是以屏幕左上角为原点,x轴沿屏幕向左,y轴垂直于x轴且沿屏幕向下。
在步骤二中,所述的建立参考矩形,并设置参考矩形的实际长度和实际高度以及屏幕长度和屏幕高度的方法是:使参考矩形的中心点与屏幕的中心点重合,参考矩形的实际长宽比例与参考矩形的屏幕长宽比例一致。
在步骤三中,所述的获取鼠标滚轮消息,计算缩放因子α;根据鼠标移动的距离,计算鼠标平移因子的方法是:通过Windows操作系统提供的API接口函数捕获鼠标的滚轮消息和鼠标移动消息,计算得到缩放因子及鼠标平移因子。
在步骤四中,所述的根据鼠标的当前位置、缩放因子及鼠标平移因子,计算出缩放平移后新的参考矩形的屏幕位置,实现对参考矩形的缩放及平移的方法是:通过将鼠标当前屏幕位置与参考矩形的四个顶点连接,将参考矩形分割为四个三角形,依据相似三角形定理,结合缩放因子及鼠标平移因子,计算出经过缩放及平移操作后参考矩形四个顶点的屏幕位置。
在步骤五中,所述的根据参考矩形重新计算矢量地图的屏幕坐标,实现对矢量地图的缩放及平移操作的方法是:根据参考矩形的屏幕位置,通过步骤二确定的地图坐标系和屏幕坐标系间的映射关系,将矢量地图的实际坐标重新转换为屏幕坐标并进行显示,以实现对矢量地图的缩放及平移操作。
本发明提供的基于鼠标位置实现GDI电子矢量地图缩放及平移的方法与现有技术方案相比具有以下技术效果:本发明在GDI绘图环境下,通过设置参考矩形,简便地实现了电子矢量地图的平移操作,以及基于鼠标位置的地图缩放操作,缩放时以鼠标位置为原点,解决了缩放过程矢量地图发生漂移的问题。本方法不仅适用于矢量电子地图的缩放,还可以适用于图片缩放及其它缩放交互操作。
附图说明
图1为本发明提供的GDI基于鼠标位置实现GDI电子矢量地图缩放及平移的方法流程图。
图2为本发明中使用的两种坐标系示意图。
图3为鼠标位于参考矩形内进行放大操作时参考矩形变化示意图。
图4为鼠标位于参考矩形外进行放大操作时参考矩形变化示意图。
图5为鼠标位于参考矩形内进行缩小操作时参考矩形变化示意图。
图6为鼠标位于参考矩形外进行缩小操作时参考矩形变化示意图。
图7为进行平移操作时参考矩形变化示意图。
具体实施方式
下面结合附图和具体实施例对本发明提供的基于鼠标位置的矢量地图缩放及平移的方法进行详细说明。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国民航大学,未经中国民航大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510276310.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种控制锁屏界面的方法
- 下一篇:一种图文信息展示方法及终端