我想实现的功能大概是这样
在一个区域内(比如200*200)显示一张6000*6000的图片,的一部分(比如这个6000*6000图片的中央或指定位置)
然后鼠标 在这个区域内点击图片就回逐步的上移或下移或向各个方向移动。
大概是要实现这么个功能
我现在怕的是6000*6000要占很大内存,不知道有什么办法解决,还有就是当鼠标点击了这个图片区域的任何一个点怎么让图片逐步移动 。
请高手能说多具体就多具体,最好有代码 ,伪代码也好;我没怎么用过GDI

解决方案 »

  1.   

    24位RGB占内存6000*6000*24/8=102M,确实大,看来只有先判断要显示的是哪里,然后在把数据读进来,最后才显示.不过最好还是先给文件MapViewOfView吧,这样以后读文件是方便一点.Reply: 鼠标点击了这个图片区域的任何一个点怎么让图片逐步移动:
    点击有WM_LBUTTONDOWN消息,这时让一个变量为TRUE,之后鼠标拖动过程中每收到一条消息就读鼠标的位置,和上次的位置比较,就可以决定要显示图片的哪部分,而且可以判断先前显示部分的数据哪些还可以保留,然后读文件,最后就是显示啦.WM_LBUTTONUP之后,就可以让变量为FALSE,过程结束.随便说说,呵呵,楼主慢慢想想.
      

  2.   


    感觉有点迷茫MapViewOfView映射一块虚拟内存 那不是也很占资源???
      

  3.   

    是这样 我的这个位图其实就是一个地图
    假设 当一个人物A在正张地图的A1区域的话 就初始化地图A1
    如果在A2区域就初始化地图A2
    这样的话我想有没有用到MapViewOfView
    只要得到这个人物A的坐标来判断在整个大地图的哪个区域去加载哪个区域的地图看来是要把地图切割成n个小地图在一个 一个小地图在客户区也不可能完全显示  要人物A走动的时候区域地图就逐步的移动
    我是这样想的 
    但是缺乏编程知识 不能写代码 能否给点代码参考