以bmp格式捕获当前屏幕,然后将其传输到另一个显示设备(如投影仪)?
我有一下几个难点没解决:
1.如何高效率传输屏幕画面?
2.因为要将捕获的屏幕传送给对方,如何减少传输的数据量?
3.有没有相关的程序可以借鉴?
我正着急呢!高手请指点啊!!!
------解决方案--------------------------------------------------------
帮顶一下,
我猛然想的啊,
1,BITMAP的大小 从分辨率上做文章
2,使用256色 bitmap应该会小
3,最高速度传输.....不知道是用什么方式连接 PC和设备,如果COM口 或者USB口,还是显卡输出.如果接显卡,应该是最快最直接的方法吧。
------解决方案--------------------------------------------------------
以bmp格式捕获当前屏幕,然后将其传输到另一个显示设备(如投影仪),我想应该不能对图像以降低分辨率或色彩值来作"变小"数据处理(图像失真)。
下面是我个人的想法(或说是解决方案):
1.只传输变化的内容。
2.数据压缩。
具体的做法是:
1.分配三块与屏幕图像大小一致的buffer1、buffer2和buffer3。
2.初始化buffer1、buffer2和buffer3:memset(buffer1-3,0,buffer_size)。
3.捕获当前屏幕到buffer2中。
4.用buffer2和buffer1做XOR、AND和OR之类的运算结果存入buffer3,目的是将与上照图像想同的部份变成同一种颜色(比如白色),变化越小压缩比例就越大。
5.将buffer2内容拷贝到buffer1,memcpy(buffer1,buffer2,buffer_size);
6.对buffer3内容进行压缩。
7.传输数据。