printscreen???

dick_chan 2002-05-27 07:37:23
用delphi如何實現捕獲當前屏幕并保存在指定的資料夾裡,如c:\my picture\test.bmp
thanks.
...全文
31 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
dick_chan 2002-05-27
  • 打赏
  • 举报
回复
thank you.....
短歌如风 2002-05-27
  • 打赏
  • 举报
回复
在函数(function)中result是预定义的标识符,在过程(Procedure)中则没有。你是不是错把Function写成Procedure了?
前面两位兄台已经告诉你如何把屏幕内容画到ABitmap中了,然后你只要调用ABitmap.SaveToFile('C:\mypicture\Screen1.bmp')就行了。
netlib 2002-05-27
  • 打赏
  • 举报
回复
Uses Graphics;

ABitMap.SaveToFile('C:\mypicture');
dick_chan 2002-05-27
  • 打赏
  • 举报
回复
編譯時為何出現:
undeclared identifier :'result'
如何聲明result??
我要在button1click後執行捕屏并自動儲存在c:\mypicture目錄下,又該如何,我很菜的,請大家不吝賜教.
netlib 2002-05-27
  • 打赏
  • 举报
回复
捕获屏幕并存成bitmap文件很简单。在你的程序中加入以下函数。

function CaptureScreen:TBitmap;
var
DC : HDC;
ABitmap:TBitmap;
begin
DC := GetDC (GetDesktopWindow);
ABitmap:=TBitmap.Create;
try
ABitmap.Width := GetDeviceCaps (DC, HORZRES);
ABitmap.Height := GetDeviceCaps (DC, VERTRES);
BitBlt(ABitmap.Canvas.Handle, 0, 0, ABitmap.Width,
ABitmap.Height,DC, 0, 0, SRCCOPY);
finally
ReleaseDC (GetDesktopWindow, DC);
end;
Result:=ABitmap;
end;
Billy_Chen28 2002-05-27
  • 打赏
  • 举报
回复
屏 幕 的 图 象 拷 贝 :

var //变量声明
Fullscreen:Tbitmap;
FullscreenCanvas:TCanvas;
dc:HDC;
//------------------------------------------------------------
DC := GetDC (0); //取得屏幕的 DC,参数0指的是屏幕
FullscreenCanvas := TCanvas.Create; //创建一个CANVAS对象
FullscreenCanvas.Handle := DC; //将屏幕的DC赋给HANDLE
Fullscreen.Canvas.CopyRect
(Rect (0, 0, screen.Width,screen.Height),
fullscreenCanvas,
Rect (0, 0, Screen.Width, Screen.Height));
//把整个屏幕复制到BITMAP中
FullscreenCanvas.Free; //释放CANVAS对象
ReleaseDC (0, DC); //释放DC
//SCREEN对象是DELPHI预先定义的屏幕对象,直接使用就行了。


5,388

社区成员

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

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