如何在程序运行时,在屏幕上出现一个抓取的矩形框,类似一般的抓图软件。 如何在程序运行时,在屏幕上出现一个抓取的矩形框,类似一般的抓图软件。最好给个源码事例。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 是不是要在mousemove事件里自己绘制一个图框;^_^, 先copy 屏幕到窗体,窗体大小和屏幕一样大,然后用鼠标画框 截取屏幕指定区域, 代码如下: procedure TClient.ScreenCap(LeftPos,TopPos, RightPos,BottomPos:integer); var RectWidth,RectHeight:integer; SourceDC,DestDC,Bhandle:integer; Bitmap:TBitmap; begin RectWidth:=RightPos-LeftPos; RectHeight:=BottomPos-TopPos; SourceDC:=CreateDC('DISPLAY','','',nil); DestDC:=CreateCompatibleDC(SourceDC); Bhandle:=CreateCompatibleBitmap(SourceDC, RectWidth,RectHeight); SelectObject(DestDC,Bhandle); BitBlt(DestDC,0,0,RectWidth,RectHeight,SourceDC, LeftPos,TopPos,SRCCOPY); Bitmap:=TBitmap.Create; Bitmap.Handle:=BHandle; BitMap.SaveToStream(BmpStream); BmpStream.Position:=0; LeftSize:=BmpStream.Size; Bitmap.Free; DeleteDC(DestDC); ReleaseDC(Bhandle,SourceDC); end; (100分)ADO操作表报错 怎样做QQ的聊天对话框,我怎么才能判断与某个人聊天的对话框已经打开。请问各位大侠这个怎么实现。 有人做过工厂管理用的数据库吗? 在线等--对一个存储过程的结果集进行筛选查询查询!!!!!! 谁有DElPHI6.0组件大全电子书下载? 关于类的申明??? 如何判断一个文件是不是文件夹 关于代码重复的问题 求几本学delphi的书~~~~~~~~~ OnClick事件中释放自己为什么出问题了? DLL中的表單問題 用 ADO Com 对象编程时,如何获得SQL 的执行进程??
代码如下:
procedure TClient.ScreenCap(LeftPos,TopPos,
RightPos,BottomPos:integer);
var
RectWidth,RectHeight:integer;
SourceDC,DestDC,Bhandle:integer;
Bitmap:TBitmap;
begin
RectWidth:=RightPos-LeftPos;
RectHeight:=BottomPos-TopPos;
SourceDC:=CreateDC('DISPLAY','','',nil);
DestDC:=CreateCompatibleDC(SourceDC);
Bhandle:=CreateCompatibleBitmap(SourceDC,
RectWidth,RectHeight);
SelectObject(DestDC,Bhandle);
BitBlt(DestDC,0,0,RectWidth,RectHeight,SourceDC,
LeftPos,TopPos,SRCCOPY);
Bitmap:=TBitmap.Create;
Bitmap.Handle:=BHandle;
BitMap.SaveToStream(BmpStream);
BmpStream.Position:=0;
LeftSize:=BmpStream.Size;
Bitmap.Free;
DeleteDC(DestDC);
ReleaseDC(Bhandle,SourceDC);
end;