| 子程序名 | 返回值类型 | 公开 | 备 注 | ||||
| 剪辑板_取位图数据A | 字节集 | 获取系统剪辑板中的图片,支持QQ截图 | |||||
| 参数名 | 类 型 | 参考 | 可空 | 数组 | 备 注 | ||
| 窗口句柄 | 整数型 | 当前程序的窗口句柄 | |||||
| 变量名 | 类 型 | 静态 | 数组 | 备 注 | ||
| 图片句柄 | 整数型 | |||||
| 信息 | BITMAPINFOHEADER | |||||
| 文件 | BITMAPFILEHEADER | |||||
| hMem | 整数型 | |||||
| lpData | 整数型 | |||||
| hBitmap | 整数型 | |||||
| 指针 | 整数型 | |||||
| 位图 | 字节集 | |||||
| bmp | 位图结构_ | |||||
| hdc | 整数型 | |||||
| 私画布句柄 | 整数型 | |||||
图片句柄 = GetClipboardData (2)
CloseClipboard ()
如果真 (图片句柄 = 0)
返回 ({ })
如果真 (取对象属性_ (图片句柄, 28, bmp) = 0)
返回 ({ })信息.biSize = 40
信息.biWidth = bmp.位图宽度
信息.biHeight = bmp.位图高度
信息.biPlanes = 1
信息.biBitCount = 24
信息.biCompression = 0
信息.biSizeImage = (bmp.位图宽度 × 24 + 31) ÷ 8 × bmp.位图高度
信息.biXPelsPerMeter = 0
信息.biYPelsPerMeter = 0
信息.biClrUsed = 0
信息.biClrImportant = 0
hdc = GetDC (0)
私画布句柄 = CreateCompatibleDC (hdc)
hMem = GlobalAlloc (位或 (0, 64), 信息.biSizeImage)
lpData = GlobalLock (hMem)
GetDIBits_x (私画布句柄, 图片句柄, 0, 信息.biHeight, lpData, 信息, 0)
文件.bfType = 19778
文件.bfReserved1 = 0
文件.bfReserved2 = 0
文件.bfSize = 14 + 40 + 信息.biSizeImage
文件.bfOffBits = 14 + 40
指针 = VirtualAlloc (0, 54 + 信息.biSizeImage, 4096, 4)
RtlMoveMemory_BITMAPFILEHEADER_整数1 (指针, 文件, 14)
RtlMoveMemory_BITMAPINFOHEADER_整数 (指针 + 14, 信息, 40)
RtlMoveMemory (指针 + 54, lpData, 信息.biSizeImage)
位图 = 指针到字节集 (指针, 54 + 信息.biSizeImage)
VirtualFree (指针, 0, 32768)
DeleteDC (私画布句柄)
返回 (位图)
| DLL命令名 | 返回值类型 | 公开 | 备 注 | |
| 取对象属性_ | 整数型 | |||
| DLL库文件名: | ||||
| gdi32 | ||||
| 在DLL库中对应命令名: | ||||
| GetObjectA | ||||
| 参数名 | 类 型 | 传址 | 数组 | 备 注 |
| 对象句柄 | 整数型 | |||
| 数据尺寸 | 整数型 | |||
| 属性 | 位图结构_ | |||
| DLL命令名 | 返回值类型 | 公开 | 备 注 | |
| GetDIBits_x | 整数型 | 将来自一幅位图的二进制位复制到一幅与设备无关的位图里 非零表示成功,零表示失败。在Windows 95中,返回值是返回的扫描线数量 | ||
| DLL库文件名: | ||||
| gdi32 | ||||
| 在DLL库中对应命令名: | ||||
| GetDIBits | ||||
| 参数名 | 类 型 | 传址 | 数组 | 备 注 |
| aHDC | 整数型 | 定义了与设备有关位图hBitmap的配置信息的一个设备场景的句柄 | ||
| hBitmap | 整数型 | 源位图的句柄。绝对不能将这幅位图选入设备场景 | ||
| nStartScan | 整数型 | 欲复制到DIB中的第一条扫描线的编号 | ||
| nNumScans | 整数型 | 欲复制的扫描线数量 | ||
| lpBits | 整数型 | 指向一个缓冲区的指针。这个缓冲区将用于装载采用DIB格式的信息,但不取回数据(用ByVal传递零值) | ||
| lpBI | BITMAPINFOHEADER | BITMAPINFO,对lpBits DIB的格式及颜色进行说明的一个结构。在BITMAPINFOHEADER结构中,从biSize到biCompression之间的所有字段都必须初始化 | ||
| wUsage | 整数型 | 下述常数之一:;DIB_PAL_COLORS:在颜色表中装载一个16位所以数组,它们与当前选定的调色板有关;DIB_RGB_COLORS:在颜色表中装载RGB颜色; | ||
| DLL命令名 | 返回值类型 | 公开 | 备 注 | |
| RtlMoveMemory_BITMAPFILEHEADER_整数1 | ||||
| DLL库文件名: | ||||
| kernel32.dll | ||||
| 在DLL库中对应命令名: | ||||
| RtlMoveMemory | ||||
| 参数名 | 类 型 | 传址 | 数组 | 备 注 |
| pBlock | 整数型 | |||
| 缓冲区 | BITMAPFILEHEADER | |||
| 尺寸 | 整数型 | |||
| DLL命令名 | 返回值类型 | 公开 | 备 注 | |
| RtlMoveMemory_BITMAPINFOHEADER_整数 | ||||
| DLL库文件名: | ||||
| kernel32.dll | ||||
| 在DLL库中对应命令名: | ||||
| RtlMoveMemory | ||||
| 参数名 | 类 型 | 传址 | 数组 | 备 注 |
| pBlock | 整数型 | |||
| 缓冲区 | BITMAPINFOHEADER | |||
| 尺寸 | 整数型 | |||
| 数据类型名 | 公开 | 备 注 | ||||
| BITMAPINFOHEADER | ||||||
| 成员名 | 类 型 | 传址 | 数组 | 备 注 | ||
| biSize | 整数型 | |||||
| biWidth | 整数型 | |||||
| biHeight | 整数型 | |||||
| biPlanes | 短整数型 | |||||
| biBitCount | 短整数型 | |||||
| biCompression | 整数型 | |||||
| biSizeImage | 整数型 | |||||
| biXPelsPerMeter | 整数型 | |||||
| biYPelsPerMeter | 整数型 | |||||
| biClrUsed | 整数型 | |||||
| biClrImportant | 整数型 | |||||
| 数据类型名 | 公开 | 备 注 | ||||
| 位图结构_ | ||||||
| 成员名 | 类 型 | 传址 | 数组 | 备 注 | ||
| bmType | 整数型 | 一定是0 | ||||
| 位图宽度 | 整数型 | bmWidth | ||||
| 位图高度 | 整数型 | bmHeight | ||||
| bmWidthBytes | 整数型 | |||||
| bmPlanes | 整数型 | |||||
| bmBitsPixel | 整数型 | |||||
| bmBits | 整数型 | |||||
| 数据类型名 | 公开 | 备 注 | ||||
| BITMAPFILEHEADER | ||||||
| 成员名 | 类 型 | 传址 | 数组 | 备 注 | ||
| bfType | 短整数型 | |||||
| bfSize | 整数型 | |||||
| bfReserved1 | 短整数型 | |||||
| bfReserved2 | 短整数型 | |||||
| bfOffBits | 整数型 | |||||
词条作者信息 使用例程
