如何计算“远程桌面”的最小增量共享
本文关键字:共享 远程桌面 计算 何计算 程桌面 桌面 | 更新日期: 2023-09-27 18:16:12
市场上有许多免费的桌面共享工具软件,但我正在考虑第一次使用c#编写自己的桌面共享工具,仅用于局域网。这个实用程序将在两台机器上运行。第一次发送程序发送它的桌面图像的完整图像到另一台机器称为接收器。在接收机上运行的应用程序只是接收图像并显示在它自己的窗口上。第二次发送者将获取自己桌面的当前快照,并与之前的快照进行比较,并仅将差异发送给第二台机器,以便通过网络发送最少的数据。如果没有发现差异,则不通过网络发送任何内容到另一台机器。
所以我在寻找图像比较代码,发现很多,但没有人以这种方式提供代码,形成第三个图像的差异。所以我的问题是,当差值发送到第二台机器时,第二台机器应该将差值图像数据与之前的图像数据一起形成第三张图像。
没有逻辑来我的脑海中编写的代码缝合数据与以前的图像的差异。请帮助我的概念或代码。由于
作为开始,您可以查看AForge差异类:
差异过滤器-得到叠加和源图像之间的差异。
将屏幕分割成小块的一种简单方法——例如,每个小块的大小为40x40像素(这是我刚刚编的)。
然后,对于每个贴图,只需将其与前一个贴图进行比较,并只发送"脏"贴图及其位置。
这种方法也可以简单地扩展为以动态方式工作(例如递归地分成四部分)。此外,不要忘记图像压缩(例如PNG),发送更大的遮罩 tile组实际上可能会受益。
快乐编码。