远程屏幕传输“差异截图”的问题。(50分)

  • 主题发起人 主题发起人 ConquerFree
  • 开始时间 开始时间
C

ConquerFree

Unregistered / Unconfirmed
GUEST, unregistred user!
求差异截图的远程屏幕传输代码。

PS:DELPHI园地网站的差异截图代码太烂了
 
什么叫差异截图
 
两副图片进行异或操作,相同的为0相异的为1。
 
原理差不多能搞懂,但是目有代码啊,顶下吧
 
图像的单位是象素
取出每一个像素进行XOR
然后将结果压缩一下
接收方解压缩后和上幅图像再做一次XOR
 
楼上的是正确的,关键在套接处理上需要注意:
A、第一次登陆的,需要传送整个屏幕压缩数据,以后看屏幕就是XOR数据或者XOR压缩数据!
B、做采屏的服务软件,必须做两个BUFFER,一个实屏数据、一个与前一屏的XOR数据!
 
这个处理速度非常慢的,不要指望能够看到流畅的数据。需要从底层入手,直接通过windows得到屏幕变化的部分,那就更好了,但是这个问题,至今没有好的解决方法,就是传说中的vnc也是采用的钩子来钩的,而且用了好几个钩子。
 
楼上说的对,我程用过很多办法,包括分块异或传输,局域网还可以,但在INTERNET上还有不够理想,还是考虑从底层入手吧,VNC的方法也很好,本想把它的勾子改造DELPHI的,但一直没有成功,而且我发现VNC有时传的也是整个屏幕,现在最好的方法应该是虚拟显卡了,但在DELPHI好像是没有办法实现的,个位有什么好方法吗
 
那就用惊涛先生的虚拟显卡进行采集吧
 
你好,我有现成的代码,用dll实现的,dll实现差异截图
qq:444094419
 
后退
顶部