一直都没有好好写过文章,实习事情也蛮多,又是忙着核心期刊,又是毕业设计。之前博客里面的东西一般都是我写的记录,也不是我的工作重点(工作中的一些设计思路我也不太方便写在这里)写得很杂很乱,别人看了肯定会说这是什么垃圾文章,今天我把论文又修改了一次,题目为《无线网络中支持并发的可靠UDP设计》,有搞这方面的兄弟和我联系喔。看看时间还剩半小时空闲,本来准备继续看linux内核,最后想想还是上来写篇博文把。公司内部东西不好写,就写下最近做的一个独立的东西吧,也算是为了给我的博客增加少许人气。。。。
下面开始正文:
闲话少说,不知道把google的图片都偷出来有没有什么商业价值? 谁回答一下我?
截取其他图片还好,影像图片貌似有问题,一般人都知道上面有水印,这个还真不好消除。有没有办法呢? 我想只有在截图的时候可以控制截图范围,也就是不要截取有水印的地方。OK,明白了这个道理,下面我们开始准备工作。
一般的截图方式目前我知道的有2种:1 扣缓存 2 屏幕DC截取FrameBuffer ............................
哪种好?哪种简单?? 我想说的是 方法1简单 方法2好 呵呵,便宜没好货,再次应验。。。。
下面就来说说方法2把,其实也有不同的策略,1 直接在IE中对google map截图 2 在应用程序中打开IE截取 其实归根结底一个道理。
说说原理吧,大家都看过google earth吗? 他的截图看到了吗??? 地图飞速变换,图片刷刷的保存。。速度那还是相当的快速。google自己东西自己想取几张图片还不是得心应手。
但是google地图不是偶做的,我不能知道怎么请求才能得到她的图片。所以我的方法是利用google map api 快速的移动地图,例如从左到右 从上到下的移动地图,然后在每次移动的时候截取屏幕中心位置指定规格的图片。这样一来截取的图片最终就可以形成一幅大图片。图片数据保存到后台数据库(这里选用MYSQL)中,做成一个典型的CS结构的客户端来显示地图。其实这种方法也相对较慢,快的方法你可以想想、不知道可以问我。哈哈
下面来看看截图程序的界面吧
程序不难,就是打开网页调用google map api ...程序执行之后就开始移动+截图。移动+截图。移动+截图……………………。。。。。。。下面为截获的图片,尺寸可设定,这里设定的为100*100 因为要用在手机上 呵呵。
速度方面,一分钟大概可以截取500张图片,当然如果你在同一屏幕下可以截取多张图片,这样截取速度可以翻翻好几倍,不知道这样是否可以达到要求。还要大家帮忙分析下。
程序同时会将这些图片保存到数据库中。数据库的格式就不说了,比较简单
说到这里,google 截图的内容就基本上完成了。。。
恩。不妨说一下接下来要做的,发张图片可能更有想象空间?go.... 下面这一个小小的程序用到了一个 UDP服务器 和 一个本地地图数据库。。
这个地图可以实现放大缩小移动等功能。。。。。。。。。
下面是在手机模拟器中打开的截图。。。。。。。
目前这个地图可以有bug的支持拖动,放大,缩小的功能。。算是一个最最最简单的GIS系统吧。当然如果没有矢量的支持这个实际用途也不是很大,但是有一定的参考意义
未完待续。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
sylar xj 2010.1.23
QQ 67666938 cug@live.cn
in CUG
备注:这种截图方法的主要好处是受限少和速度快。主要难点在于js和应用程序的交互 还有 截图和地图移动的同步问题 做好这2点 其他的都没什么难度了。
所以总的说来,这个东西还是比较简单的。