高分求助:电子地图高速显示问题

solarbear 2003-08-21 06:24:40
我做的电子地图(由点、线、面构成)中使用了双缓冲(先在内存中绘制好后,在拷贝到屏幕上)、使用了API函数中的polyline、polygon函数绘制线和面。
但是当窗口较大的时候,用鼠标拖动地图时,地图的显示就变得非常慢。

请高手帮忙,在vc中绘制点、线、面还有其他更快的函数吗?或者需要使用DirectDraw或者使用OpenGL方法,才能实现平滑和快速的移动、显示地图吗?

我看过“灵图”的开发的电子地图,确实能够实现平滑移动地图,羡慕!但是,使用什么方法实现的呢?
请高手帮忙。
...全文
33 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zzwu 2003-08-21
  • 打赏
  • 举报
回复
工作量就是要作这幅大地图,以及在这幅大图上为每个街道名(字符串)进行定位.如何现实放大和缩小显示,实际并没有多大的工作量.
zzwu 2003-08-21
  • 打赏
  • 举报
回复

http://map.online.tj.cn/mapredirect.asp
提供的地图看,是有一幅预先已作好的大地图,然后所有的局部图形都必须从这幅总图上截取得到.
但文字都是后来加上去,大地图上本身没有文字,所以文字不会放大.
zzwu 2003-08-21
  • 打赏
  • 举报
回复
有面,就要利用fillPolygon进行多边形填充,就不可能很快.
利用汇编直接对硬件编程可能比API函数快.
寻开心 2003-08-21
  • 打赏
  • 举报
回复
对于这种平面问题,使用bitble不会比DIRECTDRAW慢。OPENGL更帮不上忙。
为什么使用双缓冲呐?
使用SCROLLVIEW不就可以嘛,系统自己处理的速度很快的啊。使用双缓冲可以有效避免告诉刷新过程当中的闪烁问题,但是对于你的需求有这个必要吗?

速度慢的原因不一定是显示快慢的问题造成的,还有可能是你的图像处理,比如解码。

4,445

社区成员

发帖
与我相关
我的任务
社区描述
图形图像/机器视觉
社区管理员
  • 机器视觉
  • 迪菲赫尔曼
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧