最近做了一个地图浏览的软件,地图是由多个小图片拼接而成的,具体做法是用了一个for循环,在里面依次new picturebox,打开每个小图片后拼接而成。现在地图的浏览功能已经完成了,还有个需求是在地图上的两点间画线,这就遇到了需要在多个picturebox上画线的问题,还请各位高手给出个解决思路,有没有方法建个透明控件画图(试过,用背景透明控件,然后.parent设置为picturebox的方法,但只能在一个picturebox上,不能多个),或是其他方法实现功能。或是全部重来都行,只要能实现浏览地图,和在其上绘线就行,因为地图很大,所以只能分成多个图片。多谢各位了!

解决方案 »

  1.   

    为什么不用一个picturebox?具体做法是用了一个for循环,在里面依次打开每个小图片,然后按相应位置画上去.
      

  2.   

    觉得你应该修改你拼图方式,保证所有的图都在一个Graphic上,没必要new picturebox,每次drawimage
    一块图形,不也一样吗
      

  3.   

    你应该是把Image剪切后拼接到一个大PictureBox上,而不是用多个PictureBox拼接模拟
      

  4.   

    说得很好~建议使用这种方法,因为如果所有图像不在同一个Graphic上的话当你在上面画图时就涉及多个Graphic需要使用一个画图信息,这样做很麻烦且浪费资源,我建议lz可以把地图拼在一个窗体上,然后用图像处理的方法使用GDI+处理,这样你画线时会很容易