他这里传输的画面差异值,传输数据较小,因而更高效。根据提供的几个record(相互之间是包含关系,自己理一下),你可以依据取到的坐标(在CHANGES_RECORD中)和颜色值,去填充画布或bitmap...循环处理....。
解决方案 »
- DELPHI中如何自动取得文本型编号的最大值,并且自动增加
- 散尽最后一分,祝各位中秋节快乐!
- 图像放大线性插入法 代码优化问题!!!!
- 公司扣毕业证会按时归还吗?还是以后总用这来威胁你。
- 很急,,TActionManager
- 谁能帮我写一个压缩和解压缩文件的函数?回答就给分!
- 如何指定資料夾??
- 我对CursorType,LockType不甚了解,望高手指点。我看了几本书,我看得一知半解,知其然,不知其所以然,还望高手指点。
- 向高手请教,关于Delphi中TWebBrowser控件的一个问题。
- 如何实现组件的自动跳转?
- 怎样把excel的格式导入Delphi中?
- 事件触发问题不明白,以前没这么做过。。
版主,看了你回复后,我写了下代码,不知为什么总是不对,麻烦看看代码有什么错误之处,还请指出,谢谢
首先,我把原单元注册表的路径修改了下,
MINIPORT_REGISTRY_PATH = 'SYSTEM\CurrentControlSet\Hardware Profiles\Current\System\CurrentControlSet\Services';
然后,我的调用方法如下var
i:Integer;
a:TVideoDriver;
b:bool;
c:trect;
begin
a:=TVideoDriver.Create;
b:=True;
c.Left:=0;
c.Top:=0;
c.right:=screen.Width;
c.Bottom:=screen.Height;
a.Activate(b,@c);
a.MapSharedbuffers(b); for i:=0 to a.bufdata.buffer.counter -1 do
begin
with a.bufdata.buffer.pointrect[i] do
begin
image1.Picture.Bitmap.Canvas.brush.color:= color;
Image1.Picture.Bitmap.Canvas.FillRect(rect);
//Memo1.Lines.Add(IntToStr(rect.Top)+' '+IntToStr(rect.Left)+' '+IntToStr(rect.Right)+' '+IntToStr(rect.Bottom)+' '+ ColorToString(color));
end;
end;
Image1.Refresh;
a.UnMapSharedbuffers;
a.Deactivate;
end;出来的图是黑色,或者是乱色,麻烦各位大哥指点下,谢谢!