首先分割屏幕为6~8行(隔行有很多种),建立2个位图内存,在一行屏幕中为例的话,先将截屏1行位图放入1位图内存中,再截屏相对1行位图放入2位图内存中进行对比扫描不同处。扫描出来后进入zlib压缩(zlib.dll官方有下载),再发送。 这样一来屏幕被分为6~8行,以16位 1024x768 分辨率屏幕图为例,那就是(1.5M/8=192K),由于对不同点扫描,再用zlib压缩,一般情况下可能1K都不到了。 与上面普通方式对比将高了100多倍,网络及cpu大大降低。 这里是VB GDI版取屏的一个模板了,取屏基本上就是这个原理了。 下一步可以汇编算法驱动级优化了,努力打造VB