易语言高级截图-无视遮拦源码

.版本 2 .子程序 窗口截图, 字节集, 公开, 截取指定窗口的24位图,可截取窗口中指定区域,最小化窗口或不可见窗口无法截取位图 .参数 窗口句柄, 整数型, , 欲截取窗口图片的窗口句柄 .参数 左边, 整数型, 可空, 默认为0 在窗口中截取图片的左边(相对于窗口的左边偏移坐标) .参数 顶边, 整数型, 可空, 默认为0 在窗口中截取图片的顶边(相对于窗口的顶边偏移坐标) .参数 宽度, 整数型, 可空, 在窗口中截取图片的宽度(若为空,则为窗口宽度或客户区宽度) .参数 高度, 整数型, 可空, 在窗口中截取图片的高度(若为空,则为窗口高度或客户区高度) .参数 非客户区, 逻辑型, 可空, 默认为假:仅截取客户区内范围图片,不含标题边框 真:截取窗口范围图片 .局部变量 矩形区域, 矩形坐标 .局部变量 窗口大小, 矩形范围 .局部变量 窗口位置, 坐标型 .局部变量 新左边 .局部变量 新顶边 .局部变量 新宽度 .局部变量 新高度 .局部变量 屏幕设备上下文句柄, 整数型 .局部变量 内存设备上下文句柄, 整数型 .局部变量 位图句柄, 整数型 .局部变量 旧位图句柄, 整数型 .局部变量 位图, BITMAP .局部变量 位图像素点阵, 字节集 .局部变量 位图文件头, BITMAPFILEHEADER .局部变量 位图文件头字节集, 字节集 .局部变量 位图信息, BITMAPINFO .局部变量 位图信息字节集, 字节集 .局部变量 hmemdc, 整数型 .局部变量 hbitmap, 整数型 .局部变量 holdbitmap, 整数型 _窗口取外边框 (窗口句柄, 矩形区域) 屏幕设备上下文句柄 = 取设备场景_ (0) 内存设备上下文句柄 = 创建内存场景_ (屏幕设备上下文句柄) 位图句柄 = 创建设备场景位图_ (屏幕设备上下文句柄, 矩形区域.矩形右边 - 矩形区域.矩形左边, 矩形区域.矩形底边 - 矩形区域.矩形顶边) 旧位图句柄 = 选入设备场景_ (内存设备上下文句柄, 位图句柄) .如果真 (取反 (PrintWindow (窗口句柄, 内存设备上下文句柄, 0))) 选入设备场景_ (内存设备上下文句柄, 旧位图句柄) 删除对象_ (位图句柄) 删除设备场景_ (内存设备上下文句柄) 释放设备场景_ (0, 屏幕设备上下文句柄) 输出调试文本 (“抓取窗口位图失败”) 返回 ({ }) .如果真结束 .如果 (非客户区) 新左边 = 左边 新顶边 = 顶边 新宽度 = 宽度 新高度 = 高度 .否则 连续赋值 (0, 窗口大小.矩形宽度, 窗口大小.矩形高度, 窗口位置.x, 窗口位置.y) _取窗口大小 (窗口句柄, 窗口大小) _取窗口区域位置 (窗口句柄, 窗口位置) 新左边 = 窗口位置.x - 矩形区域.矩形左边 + 左边 新顶边 = 窗口位置.y - 矩形区域.矩形顶边 + 顶边 新宽度 = 选择 (宽度 < 1, 窗口大小.矩形宽度, 宽度) 新高度 = 选择 (高度 < 1, 窗口大小.矩形高度, 高度) .如果结束 hmemdc = 创建内存场景_ (屏幕设备上下文句柄) hbitmap = 创建设备场景位图_ (屏幕设备上下文句柄, 新宽度, 新高度) holdbitmap = 选入设备场景_ (hmemdc, hbitmap) 复制场景位图_ (hmemdc, 0, 0, 新宽度, 新高度, 内存设备上下文句柄, 新左边, 新顶边, 13369376) 选入设备场景_ (内存设备上下文句柄, 旧位图句柄) 删除对象_ (位图句柄) 删除设备场景_ (内存设备上下文句柄) 内存设备上下文句柄 = hmemdc 位图句柄 = hbitmap 旧位图句柄 = holdbitmap GetObjectA (位图句柄, 5 × 4 + 2 + 2, 位图) 位图信息.BITMAPINFOHEADER.biSize = 4 × 11 GetDIBits_BimapInfo (内存设备上下文句柄, 位图句柄, 0, 0, 0, 位图信息, 0) 位图像素点阵 = 取空白字节集 (位图信息.BITMAPINFOHEADER.biSizeImage) 位图信息.BITMAPINFOHEADER.biCompression = 0 GetDIBits (内存设备上下文句柄, 位图句柄, 0, 位图.bmHeight, 位图像素点阵, 位图信息, 0) ' 构造位图信息 位图信息字节集 = 取空白字节集 (位图信息.BITMAPINFOHEADER.biSize) CopyMemory_BITMAPINFO (位图信息字节集, 位图信息, 位图信息.BITMAPINFOHEADER.biSize) ' 构造位图文件头 位图文件头.bfType = 19778 位图文件头.bfOffBits = 2 × 4 + 3 × 2 + 位图信息.BITMAPINFOHEADER.biSize 位图文件头.bfSize = 位图文件头.bfOffBits + 位图信息.BITMAPINFOHEADER.biSizeImage 位图文件头.bfReserved1 = 0 位图文件头.bfReserved2 = 0 位图文件头字节集 = 取空白字节集 (14) CopyMemory_BITMAPFILEHEADER (位图文件头字节集, 位图文件头, 14) 选入设备场景_ (内存设备上下文句柄, 旧位图句柄) 删除对象_ (位图句柄) 删除设备场景_ (内存设备上下文句柄) 释放设备场景_ (0, 屏幕设备上下文句柄) 返回 (位图文件头字节集 + 位图信息字节集 + 位图像素点阵)
相关文件下载地址
©下载资源版权归作者所有;本站所有资源均来源于网络,仅供学习使用,请支持正版!

易语言高级截图-无视遮拦源码》有0个想法

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注