现有一张极大的图片,现要在一个指定的区域(400*400)中显示,要象google map 或 visualearth 一样,可以随意移动,缩放。不知这个方法是否可行,如果可行,怎么解决,请告诉指点,谢谢。

解决方案 »

  1.   

    http://sunlilei.spaces.live.com/blog/cns!fd699c7e1c581f13!121.entry
      

  2.   

    google map 的地图显示是采用ajax技术动态获取的部分图像数据的移动,为同放大等级图片的切割后图片的获取,每次只取那部分图片。也可以用.net中的Graph来动态的从原始位图上截取所需部分的位图,然后展现给浏览者放大缩小,乃是不同大小的图片
      

  3.   

    http://www.mltang.com/article/973cdf9a-6ec8-412f-a075-02e0870e0131.html
      

  4.   

    用Google Maps的引擎可以做到,它的引擎支持在地图上在增加层(类似Photoshop的图层概念),你也学它那样切割图片就行了,剩下就是一些JavaScript工作,而拖放加载等工作都是它做好的。
      

  5.   

    http://www.mltang.com/article/973cdf9a-6ec8-412f-a075-02e0870e0131.html
    看看吧
      

  6.   

    to cat_hsfz, google maps 引擎怎么应用,有没有示例阿
      

  7.   

    你用Google搜索"Google+Maps+API",然后能够找到官方的文档,然后慢慢读吧。里面没有明确记录可以这样做,但实际上是可以的,这你需要在参考一些第三方文档。
      

  8.   

    哎呀,我不久前刚刚做过这个的技术攻关花了好多时间. 最后是这样做的, 我建一个 ashx ,根据参数 (左上角坐标, 缩放比例) 来得到一个制定区域大小的内存图片,然后以2进制向响应流写出.在显示的页面,用一个<asp:ImageButton >设置你要的大小,然后把图片设置为这个ashx的地址.ImageButton的Click事件是可以拿到鼠标对应于图片(也就是按钮)左上角的x和y坐标的 e.X ,e.Y 就是了. 然后再次计算,输出图片.
    因为存在缓存的问题,所以又用了一个随机的temp=784632764 这样的学CSDN来达到去掉缓存的目的. 然后接下来就是一个AJAX的无刷新改造了. 其中还遇到一个问题是当这个ImageButton在一个带着滚动条的父控件内部(页面本身带滚动条也算), 在Operal和IE6,IE7,FF等浏览器下对鼠标点击点的计算难以统一,主要问题尽是IE6和IE7上,你对了我就错我对了你就错....后来改用了一点小技巧对坐标根据页面偏移进行2次校正.看起来简单,里面好多东西.没办法,本来要用控件的,一问........  20万一套.... 买不起...这台服务器又由于特殊原因绝对不可能让盗版的东西装在上面的....所以只能自己想破了脑袋解决.
    如果图片非常大的时候,用一个ashx处理造成了性能问题(我那图片就巨大无比...),可以改用WebService代替ashx.