ScnLib_TakeScreenshot()

ScnLib_TakeScreenshotA/W()

标准版专业版超级版游戏版
C++ __declspec(dllimport) BOOL __stdcall ScnLib_TakeScreenshotA(LPSTR pszPath, long left, long top, long right, long bottom);
__declspec(dllimport) BOOL __stdcall ScnLib_TakeScreenshotW(LPWSTR pwszPath, long left, long top, long right, long bottom);
C# [DllImport("ScnLib.dll", CharSet = CharSet.Unicode)] public static extern bool ScnLib_TakeScreenshotW(StringBuilder Path, int left, int top, int right, int bottom);
Basic Public Declare Unicode Function ScnLib_TakeScreenshotW Lib "ScnLib.dll" (ByVal Path As StringBuilder, ByVal left As Int32, ByVal top As Int32, ByVal right As Int32, ByVal bottom As Int32) As Boolean
Delphi function ScnLib_TakeScreenshotA(Path: PAnsiChar; left: Integer; top: Integer; right: Integer; bottom: Integer): LongBool; stdcall; external 'ScnLib.dll';
function ScnLib_TakeScreenshotW(Path: PWideChar; left: Integer; top: Integer; right: Integer; bottom: Integer): LongBool; stdcall; external 'ScnLib.dll';
  • 描述
    截取指定区域的屏幕截图。

  • 参数
    • Path [in/out]
      输入输出截图文件路径。字符串缓冲区空间必须大于 260 个字符。支持的屏幕截图图像格式为 PNG、BMP、JPG 和 TIFF。文件路径可能包含以下预定义变量的任意组合:
      • <num> - 插入一个使文件名不重名的自动递增数字。
      • <date> - 将当前日期字符串插入文件名。
      • <time> - 将当前时间字符串插入文件名。
      例如:C:\Temp\Rec <date> <time>.png
    • left [in]
      截屏区域矩形左上角的 x 坐标(以像素为单位)。
    • top [in]
      截屏区域矩形左上角的 y 坐标(以像素为单位)。
    • right [in]
      截屏区域矩形右下角的 x 坐标(以像素为单位)。
    • bottom [in]
      截屏区域矩形右下角的 y 坐标(以像素为单位)。
    • 实际截屏区域不包括矩形的右边界和底边界。
  • 返回值
    如果成功截屏并保存,则返回值为 TRUE。否则,返回值为 FALSE。

  • 备注
    调用该函数对屏幕指定区域进行截图。文件路径可以包含上面列出的预定义变量的任意组合。实际的输出文件路径会通过 Path 字符串缓冲区输出。如果您不想在路径中包含任何预定义变量,您也可以自行构建不重名的文件路径。如果您设置了一个已存在的文件路径,该文件将被抹去重写。文件扩展名决定了 SDK 要输出的图像格式。支持的文件扩展名是 .PNG、.BMP、.JPG 和 .TIFF。如果指定一个空的矩形坐标,SDK 将截取整个桌面区域。如果你想截取一个特定的窗口区域,你可以调用 Win32 API GetWindowRect() 来获取窗口的矩形坐标,然后将坐标传递给此函数进行截屏。要让用户自行选择截屏区域,请调用 ScnLib_SelectCaptureRegion()

  • 参见
    ScnLib_SelectCaptureRegion()

下载 SDK API 总览