如何在程序运行时,在屏幕上出现一个抓取的矩形框,类似一般的抓图软件。

LinLei 2003-09-30 09:50:49
如何在程序运行时,在屏幕上出现一个抓取的矩形框,类似一般的抓图软件。最好给个源码事例。
...全文
39 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
47522341 2003-09-30
  • 打赏
  • 举报
回复
是不是要在mousemove事件里自己绘制一个图框;^_^,
tom20803862 2003-09-30
  • 打赏
  • 举报
回复
兄弟,做这个另类的程序做啥用啊! 我没做过,但提个馊主意: 做个有边缘中间透明的窗口吧!做各种各样的窗口书上很多,定可做到的
IORILI 2003-09-30
  • 打赏
  • 举报
回复
截取屏幕指定区域,
代码如下:
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;
S.F. 2003-09-30
  • 打赏
  • 举报
回复
先copy 屏幕到窗体,窗体大小和屏幕一样大,然后用鼠标画框
kejian 2003-09-30
  • 打赏
  • 举报
回复
取一屏幕当前图像。
建一个全屏最大化无边框窗体。
在窗体中自画。

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧