捐赠 | 广告 | 注册 | 发布 | 上传 | 关于我们    
  沪ICP备05001939号 DELPHI盒子 | 盒子论坛 | 盒子文章 | 盒子问答悬赏 | 最新更新 | 论坛检索 | 下载中心 | 高级搜索    
  精品专区 | 繁體中文 | 奖励公告栏 | 直通车账号登陆 | 关闭GOOGLE广告 | 临时留言    
盒子资源分类
全部展开 - 全部合拢
屏幕划块传输演示代码
关键字:屏幕传输 划块 CapClient IdTCPServer
来 自:原创
平 台:Win2k/XP/NT,Win2003 下载所需:0 火柴
深浅度:中级 完成时间:2007/5/1
发布者:hackbear 发布时间:2007/5/7
编辑器:DELPHI7 语  种:简体中文
分 类:媒体与图形 下载浏览:1084/11496
加入到我的收藏
下载错误报错
登陆以后才能下载
 用户名:
 密 码:
自动登陆(30天有效)
图片如果打不开,说明流量不够了,请稍候下载……
这个代码本来是参考一个台湾人写的,原来是UDP控件,里面很多代码有些乱,我改用了IdTCPServer,注释了代码,现在发现的问题就是图片传输过,用StrechDraw 画出来,会有明显的刷屏痕迹,有时还会漏块,发送快了这种情况就更明显,发出来大家一起看看吧。
Google
 
本站原创作品,未经作者许可,严禁任何方式转载;转载作品,如果侵犯了您的权益,请联系我们
龙脉加密锁 15元起 Grid++Report 报表 申请支付@网
 相关文章
屏幕傳輸程序改進版一
guanyueguan 2008/1/7 下+16688/浏+15796 评+40
屏幕傳輸程序 (分塊+隔行掃描)
guanyueguan 2007/12/25 下+6424/浏+26263 评+40
屏幕传输隔行取样版本
hfhappy 2007/6/5 下+3458/浏+10095 评+12
屏幕划块传输演示代码
hackbear 2007/5/7 下+1084/浏+11497 评+7
遠程屏幕傳輸控制C+SDK版
guanyueguan 2007/4/30 下+1222/浏+10630 评+4
高速屏幕傳輸程序改進版
guanyueguan 2007/4/28 下+7609/浏+13210 评+14
高速屏幕传输演示代码
hfhappy 2007/3/22 下+3407/浏+15472 评+50
远程屏幕传输 (差异截图)
dldengli 2006/10/15 下+7488/浏+21649 评+60
相关评论
共有评论7条 当前显示最后6条评论
aizjcn 2007/5/8 1:38:59
老毛病又犯了;向hackbear兄弟道歉;

这次认真看了一下代码;改了一下;本机和虚拟机测试没有丢块问题;

我自己一直是用流比较的方案;感觉分块不一定就快;


解决丢块问题代码如下;


  With TTimer(Sender) Do Begin
    capx:=(tag Mod 8)*DefWidth;
    capy:=(tag Div 8)*DefHeight;
    ScreenShot(capx,capy,DefWidth,Defheight,capblock[tag]);
    xstrm:=TMemoryStream.Create;
    capblock[tag].SaveToStream(xstrm);//抓取到的压缩入流

    xstrm.WriteBuffer(tag,SizeOf(Integer)); //插入编号再比较内容

    NewCRC[tag]:=CalcCRC32(xstrm.Memory,xstrm.Size);
hfhappy 2007/5/8 9:11:54
全屏接收端试试,机子奇卡,而且绝对不超过5贞
>>我自己一直是用流比较的方案;感觉分块不一定就快;
这个也是分块啊
这个代码是先分块,然后计算bmp的crc,然后比较crc确定是否变化,我感觉效率还不如单纯的流比较,
(result shr 8) xor Table[q^ xor (result and $000000FF)]; 
循环相同次数,这个能有指针比较快吗?
aizjcn 2007/5/8 13:32:47
A:Bmp1.ScanLine[Height-1];//内存数据Bmp头部,前面还有一节图象信息数据
B:Bmp1.ScanLine[Height-2];
..........

假如图象内存数据是这样;
__________
A:[1][2][3][4][5][6][7][8]
B:[1][2][3][4][5][6][7][8]
C:[1][2][3][4][5][6][7][8]
D:[1][2][3][4][5][6][7][8]
E:[1][2][3][4][5][6][7][8]
__________
变化的时候是这样
__________
A:[1][2][3][4][5][6][7][8]
        __________
B:[1][2]|[5][4][5]|[6][7][8]
C:[1][2]|[4][6][5]|[6][7][8]
D:[1][2]|[5][4][6]|[6][7][8]
        ----------
E:[1][2][3][4][5][6][7][8]
__________
指针A<-B<-C<-D<-E
__________
求变化的算法咬金说的倒序快
事实上其他的技巧也一样可以快
只要知道了结构就发挥自己的天分就行了
还有就是函数的选择上;代码的精简上;对不同对象方法的了解上;

只能说点废话;实在是没时间去做这些;希望有用;
qsmile 2007/5/11 10:31:24
这几天好象研究这个的人一下子多了好多

真服了你了,用 CRC32 来比较,你计算CRC32 也要花时间的,还不如直接比较内存
CompareMem

楼上说倒的倒序是什么意思
lybase 2007/5/16 11:43:04
cpu占用太大了,很容易被kill掉啊
aizjcn 2007/5/25 0:01:23
今天找时间测试了一下行扫描(非分块比较);
事实证明我是对的;
800X600 64帧/秒
1024X768 45帧/秒
1152X864 41帧/秒
我要发表评论 查看全部评论
 
  DELPHI盒子版权所有 1999-2012 V3.01 沪ICP备05001939号 更新RSS列表