如何使用Delphi截取电脑屏幕特定区域的屏幕截图?

2026-04-10 20:152阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计380个文字,预计阅读时间需要2分钟。

如何使用Delphi截取电脑屏幕特定区域的屏幕截图?

我正在尝试截取屏幕特定部分的屏幕截图。这是我要剪切的屏幕部分的坐标:左:442,上:440,右:792,下:520。同时,这也是一个宽度为350px,高度为80px的矩形。但我不清楚如何使用CopyRect来实现这一功能。

我正在尝试截取屏幕特定部分的屏幕截图.这是我要“剪切”的屏幕部分的坐标:

左:442
上:440
右:792
下图:520

也就是说,宽度为350px,高度为80px的矩形.但我不知道如何使用CopyRect来完成这项任务,而不是我得到一个空白的图像.这是我的代码:

function screenshot: boolean; var Bild : TBitmap; c: TCanvas; rect_source, rect_destination : TRect; begin c := TCanvas.Create; bild := tbitmap.Create; c.Handle := GetWindowDC(GetDesktopWindow); try rect_source := Rect(0, 0, Screen.Width, Screen.Height); rect_destination := Rect(442,440,792,520); Bild.Width := 350; Bild.Height := 80; Bild.Canvas.CopyRect(rect_destination, c, rect_source); Bild.savetofile('c:\users\admin\desktop\screen.bmp'); finally ReleaseDC(0, c.Handle); Bild.free; c.Free; end; end; 你在这里做的是复制整个屏幕并在坐标Rect(442,440,792,520)处绘制它;在你的新位图……哪个不在它的画布上.

坐标Rect(442,440,792,520)对应于要从源位图获取的部分.你想把它复制到新的位图里面,所以在rect Rect(0,0,350,80)中

您可以像这样调整矩形:

rect_source := Rect(442,440,792,520); rect_destination := Rect(0,0,350,80);

其余的代码似乎是正确的.

如何使用Delphi截取电脑屏幕特定区域的屏幕截图?
标签:截图

本文共计380个文字,预计阅读时间需要2分钟。

如何使用Delphi截取电脑屏幕特定区域的屏幕截图?

我正在尝试截取屏幕特定部分的屏幕截图。这是我要剪切的屏幕部分的坐标:左:442,上:440,右:792,下:520。同时,这也是一个宽度为350px,高度为80px的矩形。但我不清楚如何使用CopyRect来实现这一功能。

我正在尝试截取屏幕特定部分的屏幕截图.这是我要“剪切”的屏幕部分的坐标:

左:442
上:440
右:792
下图:520

也就是说,宽度为350px,高度为80px的矩形.但我不知道如何使用CopyRect来完成这项任务,而不是我得到一个空白的图像.这是我的代码:

function screenshot: boolean; var Bild : TBitmap; c: TCanvas; rect_source, rect_destination : TRect; begin c := TCanvas.Create; bild := tbitmap.Create; c.Handle := GetWindowDC(GetDesktopWindow); try rect_source := Rect(0, 0, Screen.Width, Screen.Height); rect_destination := Rect(442,440,792,520); Bild.Width := 350; Bild.Height := 80; Bild.Canvas.CopyRect(rect_destination, c, rect_source); Bild.savetofile('c:\users\admin\desktop\screen.bmp'); finally ReleaseDC(0, c.Handle); Bild.free; c.Free; end; end; 你在这里做的是复制整个屏幕并在坐标Rect(442,440,792,520)处绘制它;在你的新位图……哪个不在它的画布上.

坐标Rect(442,440,792,520)对应于要从源位图获取的部分.你想把它复制到新的位图里面,所以在rect Rect(0,0,350,80)中

您可以像这样调整矩形:

rect_source := Rect(442,440,792,520); rect_destination := Rect(0,0,350,80);

其余的代码似乎是正确的.

如何使用Delphi截取电脑屏幕特定区域的屏幕截图?
标签:截图