# include“l_bitmap.h”
L_LTKRN_APIL_UINT* L_CreateUserMatchTable(调色板,uColors)
创建在使用所创建的调色板时加速颜色转换的表。类引用该表L_ColorResBitmap函数。
值的数组就是你的调色板。
数组中的每个项可以有以下值之一:
| 价值 | 意义 |
|---|---|
| 实际RGBQUAD值 | 使用指定的颜色作为固定颜色。 |
| RGB_RESERVED | [0x01]将该项保留为空,以备以后使用。 |
| RGB_EMPTY | [0x02]让L_ColorResBitmap函数填充颜色。该函数提供了优化的颜色来填充RGB_EMPTY项。 |
调色板中颜色的数量。
指向表的指针,如果函数失败则为NULL。
此函数与其他函数一起使用,顺序如下:
调用L_CreateUserMatchTable创建表。
调用L_SetUserMatchTable使它成为当前表。(将此函数作为一个单独的函数,可以将表保存在文件中,并获得所需的表,而无需重新创建它。)
调用L_ColorResBitmap使用CRF_USERPALETTE和CRF_FASTMATCHPALETTE选项。
调用L_FreeUserMatchTable当不再需要该表时。
完成的表是一个32K的整数数组。在32位系统上,它占用128K字节的内存。表的创建是一个缓慢的、内存密集型的过程,只有在多次使用自己的调色板时才有用。例如,您可能希望只创建一次表,将其保存到一个文件中,并将该文件与应用程序一起发布。
必需的dll和库
Win32, x64, Linux。
此示例使用用户自定义的选项更改位图的颜色分辨率
调色板和匹配表快速颜色匹配。
CreateUserMatchTableExample(HWND HWND, pBITMAPHANDLE pBitmap){L_INT nRet;L_UINT * pMatchTable;/*用户匹配表指针*/RGBQUAD彩虹[64]=/* 64色彩虹调色板*/{{0, 0, 0, 0}, {85, 0, 0, 0}, {170, 0, 0, 0}, {255, 0, 0, 0}, {0, 85, 0, 0},{85、85、0、0}{170、85、0,0},{255、85、0,0},{0,170,0,0},{85、170、0,0},{170、170、0、0}{255、170、0,0},{0,255,0,0},{85、255、0,0},{170、255、0,0},{255、255、0,0},{0,0,85,0},{85,0,85,0},{170,0,85,0},{255,0,85,0},{0, 85, 85, 0},{85、85、85,0},{170、85、85,0},{255、85、85,0},{0,170,85,0},{85、170、85,0},{170、170、85,0},{255、170、85,0},{0,255,85,0},{85、255、85,0},{170、255、85,0},{255、255、85,0},{0,0,170,0},{85,0,170,0},{170, 0, 170, 0},{255, 0, 170, 0},{0, 85, 170, 0},{85、85、170,0},{170、85、170,0},{255、85、170,0},{0,170,170,0},{85、170、170,0},{170、170、170,0},{255、170、170,0},{0,255,170,0},{85、255、170,0},{170、255、170,0},{255、255、170,0},{0,0,255,0},{85,0,255,0},{170,0,255,0},{255,0,255,0},{0, 85, 255, 0},{85、85、255,0},{170、85、255,0},{255、85、255,0},{0,170,255,0},{85、170、255,0},{170、170、255,0},{255、170、255,0},{0,255,255,0},{85、255、255,0},{170、255、255,0},{255、255、255,0},};/*创建并设置用户匹配表*/pMatchTable = L_CreateUserMatchTable(彩虹,64);L_SetUserMatchTable (pMatchTable);/*使用新的调色板改变颜色分辨率。注意用户匹配表只有在多次使用时才会使代码更快。这里只包含它来展示如何对它进行编码。* /nRet = L_ColorResBitmap(pBitmap, pBitmap, pBitmap,运算符(BITMAPHANDLE) 8CRF_FLOYDSTEINDITHERING | CRF_USERPALETTE | CRF_FASTMATCHPALETTE,彩虹,NULL, 64, NULL, NULL);如果(nRet != SUCCESS)返回nRet;/*当用户匹配表不再需要时释放它*/nRet = L_FreeUserMatchTable(pMatchTable);如果(nRet != SUCCESS)返回nRet;/*获取新的调色板作为当前的油漆调色板*/SendMessage (hWnd, WM_QUERYNEWPALETTE, 0, 0L);返回成功;}
帮助收藏
光栅net|C API|c++类库|HTML5 JavaScript
文档net|C API|c++类库|HTML5 JavaScript
医疗net|C API|c++类库|HTML5 JavaScript
医疗网络查看器net
188宝金博怎么下载
支持的平台上
.NET、Java、Android和iOS/macOS程序集
C API/ c++类库
HTML5 JavaScript库
您的邮件已发送给技术支持!应该有人联系!如果你的事情很紧急,请回来聊天。
聊天时间:
周一至周五,美国东部时间上午8:30至下午6:00
感谢您的反馈!
请再次填写表格,开始新的聊天。
所有代理目前都离线。
聊天时间:
星期一至星期五
美国东部时间上午8:30 -下午6点
如需与我们联系,请填写此表格,我们将通过电子邮件与您联系。
