|
发表于 2025-1-31 18:54:20
|
显示全部楼层
陕西省宝鸡市
取鼠标指针字节集 ()返回 0 变量名 | 类 型 | 静态 | 数组 | 备 注 | CursorInfo | CURSORINFO | | | IconInfo | ICONINFO | | | bmpColor | BITMAP | | | bmpMask | BITMAP | | | 宽度 | 整数型 | | | 高度 | 整数型 | | | 位图数据大小 | 整数型 | | | 位图数据 | 字节集 | | | 位图信息头 | BITMAPINFOHEADER | | | 设备场景 | 整数型 | | | 新设备场景 | 整数型 | | | 指针句柄 | 整数型 | | |
CursorInfo.cbSize = 20 GetCursorInfo (CursorInfo ) 如果真 (CursorInfo.hCursor = 0 ) 返回 { } GetIconInfo (CursorInfo.hCursor, IconInfo )GetObjectA (IconInfo.hbmColor, 24, bmpColor )GetObjectA (IconInfo.hbmMask, 24, bmpMask )宽度 = bmpColor.bmWidth 高度 = bmpColor.bmHeight 位图信息头.biSize = 40 位图信息头.biWidth = 宽度 位图信息头.biHeight = 高度 位图信息头.biPlanes = 1 位图信息头.biBitCount = 32 位图信息头.biCompression = 0 位图信息头.biSizeImage = 宽度 × 高度 × 4 位图数据大小 = 位图信息头.biSizeImage 位图数据 = 取空白字节集 (位图数据大小 )设备场景 = CreateCompatibleDC (0 )新设备场景 = CreateCompatibleDC (0 )SelectObject (设备场景, IconInfo.hbmColor )SelectObject (新设备场景, CreateCompatibleBitmap (设备场景, 宽度, 高度 )) BitBlt (新设备场景, 0, 0, 宽度, 高度, 设备场景, 0, 0, 13369376 )GetDIBits (新设备场景, IconInfo.hbmColor, 0, 高度, 位图数据, 位图信息头, 0 )处理透明通道 (IconInfo.hbmMask, 位图数据, 宽度, 高度 )DeleteDC (设备场景 )DeleteDC (新设备场景 )DeleteObject (IconInfo.hbmColor )DeleteObject (IconInfo.hbmMask )返回 生成BMP字节集 (位图信息头, 位图数据, 宽度, 高度 )|
处理透明通道 | | | |
hbmMask | 整数型 | | | | 位图数据 | 字节集 | | | | 宽度 | 整数型 | | | | 高度 | 整数型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | mask数据 | 字节集 | | | mask信息头 | BITMAPINFOHEADER | | | 行 | 整数型 | | | 列 | 整数型 | | | 位置 | 整数型 | | | 设备场景 | 整数型 | | |
mask信息头.biSize = 40 mask信息头.biWidth = 宽度 mask信息头.biHeight = 高度 mask信息头.biPlanes = 1 mask信息头.biBitCount = 1 mask信息头.biCompression = 0 mask信息头.biSizeImage = ( (宽度 + 31 ) ÷ 32 × 4 ) × 高度 mask数据 = 取空白字节集 (mask信息头.biSizeImage )设备场景 = CreateCompatibleDC (0 )SelectObject (设备场景, hbmMask )GetDIBits (设备场景, hbmMask, 0, 高度, mask数据, mask信息头, 0 )DeleteDC (设备场景 ) 计次循环首 (高度, 行 ) 计次循环首 (宽度, 列 )  位置 = (行 - 1 ) × 宽度 × 4 + (列 - 1 ) × 4 + 1   位置 = 位图数据大小 (行 × 宽度 × 4 ) (列 × 4 )     如果 (取位掩码 (mask数据, 列 - 1, 行 - 1, 宽度 ) = 1 )   位图数据 [位置 + 3 ] = 0    位图数据 [位置 + 3 ] = 255   计次循环尾 () 计次循环尾 ()|
取位掩码 | 整数型 | | |
mask数据 | 字节集 | | | | x | 整数型 | | | | y | 整数型 | | | | 宽度 | 整数型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 每行字节数 | 整数型 | | | 位置 | 整数型 | | | 位偏移 | 整数型 | | |
每行字节数 = (宽度 + 31 ) ÷ 32 × 4 位置 = y × 每行字节数 + x ÷ 8 + 1 位偏移 = 7 (x % 8 )返回 位与 (右移 (mask数据 [位置 ], 位偏移 ), 1 )|
生成BMP字节集 | 字节集 | | |
信息头 | BITMAPINFOHEADER | | | | 像素数据 | 字节集 | | | | 宽度 | 整数型 | | | | 高度 | 整数型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 文件头 | BITMAPFILEHEADER | | | 结果数据 | 字节集 | | |
文件头.bfType = 19778 文件头.bfSize = 取字节集长度 (像素数据 ) + 54 文件头.bfOffBits = 54 结果数据 = 取空白字节集 (文件头.bfSize )写到内存 (文件头, 取变量数据地址 (结果数据 ), 14 )写到内存 (信息头, 取变量数据地址 (结果数据 ) + 14, 40 )写到内存 (像素数据, 取变量数据地址 (结果数据 ) + 54, 取字节集长度 (像素数据 )) 返回 结果数据 .成员 cbSize, 整数型 .成员 flags, 整数型 .成员 hCursor, 整数型 .成员 ptScreenPos, POINT .成员 fIcon, 逻辑型 .成员 xHotspot, 整数型 .成员 yHotspot, 整数型 .成员 hbmMask, 整数型 .成员 hbmColor, 整数型 .成员 bmType, 整数型 .成员 bmWidth, 整数型 .成员 bmHeight, 整数型 .成员 bmWidthBytes, 整数型 .成员 bmPlanes, 短整数型 .成员 bmBitsPixel, 短整数型 .成员 bmBits, 整数型 .成员 biSize, 整数型 .成员 biWidth, 整数型 .成员 biHeight, 整数型 .成员 biPlanes, 短整数型 .成员 biBitCount, 短整数型 .成员 biCompression, 整数型 .成员 biSizeImage, 整数型 .成员 biXPelsPerMeter, 整数型 .成员 biYPelsPerMeter, 整数型 .成员 biClrUsed, 整数型 .成员 biClrImportant, 整数型 .成员 bfType, 短整数型 .成员 bfSize, 整数型 .成员 bfReserved1, 短整数型 .成员 bfReserved2, 短整数型 .成员 bfOffBits, 整数型 |
GetCursorInfo | 逻辑型 | | |
user32.dll | |
GetCursorInfo | |
pci | CURSORINFO | | |
|
GetIconInfo | 逻辑型 | | |
user32.dll | |
GetIconInfo | |
hIcon | 整数型 | | | piconinfo | ICONINFO | | |
|
GetObjectA | 整数型 | | |
gdi32.dll | |
GetObjectA | |
hgdiobj | 整数型 | | | cbBuffer | 整数型 | | | lpvObject | BITMAP | | |
|
CreateCompatibleDC | 整数型 | | |
gdi32.dll | |
CreateCompatibleDC | |
hdc | 整数型 | | |
|
SelectObject | 整数型 | | |
gdi32.dll | |
SelectObject | |
hdc | 整数型 | | | hgdiobj | 整数型 | | |
|
CreateCompatibleBitmap | 整数型 | | |
gdi32.dll | |
CreateCompatibleBitmap | |
hdc | 整数型 | | | nWidth | 整数型 | | | nHeight | 整数型 | | |
|
BitBlt | 逻辑型 | | |
gdi32.dll | |
BitBlt | |
hdcDest | 整数型 | | | nXDest | 整数型 | | | nYDest | 整数型 | | | nWidth | 整数型 | | | nHeight | 整数型 | | | hdcSrc | 整数型 | | | nXSrc | 整数型 | | | nYSrc | 整数型 | | | dwRop | 整数型 | | |
|
GetDIBits | 整数型 | | |
gdi32.dll | |
GetDIBits | |
hdc | 整数型 | | | hbmp | 整数型 | | | uStartScan | 整数型 | | | cScanLines | 整数型 | | | lpvBits | 字节集 | | | lpbmi | BITMAPINFOHEADER | | | uUsage | 整数型 | | |
|
DeleteDC | 逻辑型 | | |
gdi32.dll | |
DeleteDC | |
hdc | 整数型 | | |
|
DeleteObject | 逻辑型 | | |
gdi32.dll | |
DeleteObject | |
hObject | 整数型 | | |
|
|