# include“l_bitmap.h”
L_LTKRN_APIL_INTL_CreateBitmapList (phList)
创建一个空列表的位图。列表可以建立和维护与相关功能。
地址的HBITMAPLIST变量的列表。
| 价值 | 意义 |
|---|---|
| 成功 | 函数是成功的。 |
| < 1 | 一个错误发生。指返回代码。 |
必需的dll和库
Win32 x64, Linux。
这个示例创建一个位图列表从当前位图旋转每份10度。
它定义了旋转填充颜色为透明色,和分配一个动画背景颜色。
然后播放动画,使用当前位图作为目标。
L_INT CreateBitmapListExample (HWND HWND,HPALETTE hpalPaint,/ *漆面板处理。* /pBITMAPHANDLE pBitmap)/ *加载图像位图句柄。* /{L_INT nRet;HBITMAPLIST hList;/ * * /位图列表BITMAPHANDLE TmpBitmap;/ *临时位图来构建列表* /L_INT nMax = 160;/ *最大宽度或高度位图的列表* /HPLAYBACK HPLAYBACK;/ *动画播放* /L_UINT uState;/ * * /播放下一个状态矩形rcUpdate;/ *源剪辑矩形用于播放* /矩形rcDisplay;/ *显示矩形用于播放* /HDC HDC;/ * * /设备上下文的当前窗口HPALETTE HPALETTE =零;/ *当前系统调色板的临时副本* /RGBQUAD TmpPalette [1];/ *定义透明面板颜色* /L_INT我;/ * * /循环计数器/ *减少内存需求,如果必要的。只有小的位图玩顺利。* /如果宽度(pBitmap - > > nMax){nRet = L_SizeBitmap (pBitmap nMax (pBitmap - >高度* nMax) / pBitmap - >宽度,SIZE_RESAMPLE);如果(nRet ! =成功)返回nRet;}其他的如果(pBitmap - > > nMax)高度{nRet = L_SizeBitmap (pBitmap (pBitmap - >宽度* nMax) / pBitmap - >高度,nMax, SIZE_RESAMPLE);如果(nRet ! =成功)返回nRet;}/ *犹豫一个优化面板,留下最后一个颜色使用空白后来透明度* /nRet = L_ColorResBitmap (pBitmap pBitmap,运算符(BITMAPHANDLE) 8 CRF_FLOYDSTEINDITHERING | CRF_OPTIMIZEDPALETTE | CRF_IDENTITYPALETTE,空,空,255,零,零);如果(nRet ! =成功)返回nRet;/ *设置透明色板的位置* /TmpPalette [0]。rgbBlue =(202字节);TmpPalette [0]。rgbGreen =(222字节);TmpPalette [0]。rgbRed =(212字节);nRet = L_PutBitmapColors (pBitmap 50 TmpPalette);如果(nRet ! =成功)返回nRet;/ *创建调色板* /hdc = GetDC (hWnd);pBitmap hpalPaint = L_CreatePaintPalette (hdc);ReleaseDC (hWnd, hdc);/ *设置回放旗帜,将适用于所有列表中的位图* /pBitmap - >标记。WaitUserInput = FALSE;pBitmap - >标记。透明度= TRUE;pBitmap - >左= 0;pBitmap - >高级= 0;pBitmap延迟- > = 10;pBitmap - >透明度= PALETTEINDEX (255);去年颜色调色板* / / *pBitmap - > DisposalMethod = PLAYDISPOSE_RESTOREBACKGROUND;/ *创建和填充位图列表* /nRet = L_CreateBitmapList (&hList);如果(nRet ! =成功)返回nRet;为(i = 0;我< = 36;+ + i){nRet = L_CopyBitmap (&TmpBitmap pBitmap,运算符(BITMAPHANDLE));如果(nRet ! =成功)返回nRet;/ *旋转,使用透明颜色填充颜色* /nRet = L_RotateBitmap (&TmpBitmap, 1000 * 0 PALETTEINDEX (255);如果(nRet ! =成功)返回nRet;nRet = L_InsertBitmapListItem (hList (L_UINT) 1, &TmpBitmap);如果(nRet ! =成功)返回nRet;}/ *设置背景颜色的动画播放* /pBitmap - >背景= RGB (0, 0255);/ * * /使用的客户区显示矩形GetClientRect (hWnd, &rcDisplay);/ *创建并运行播放* /nRet = L_CreatePlayback (&hPlayback pBitmap hList);如果(nRet ! =成功)返回nRet;做{nRet = L_ProcessPlayback (hPlayback &uState);如果(nRet ! =成功)返回nRet;开关(uState){情况下PLAYSTATE_POSTRENDER:nRet = L_GetPlaybackUpdateRect (hPlayback &rcUpdate,真的);如果(nRet ! =成功)返回nRet;hdc = GetDC (hWnd);如果(hpalPaint){hPalette = SelectPalette (hdc hpalPaint,真的);RealizePalette (hdc);}nRet = L_PaintDC (hdc pBitmap, NULL, &rcUpdate、&rcDisplay &rcDisplay, SRCCOPY);如果(nRet ! =成功)返回nRet;如果(hpalPaint)SelectPalette (hdc hPalette,真实);ReleaseDC (hWnd, hdc);打破;}}而(uState ! = PLAYSTATE_END);/ * * /清理干净nRet = L_DestroyPlayback (hPlayback, NULL);如果(nRet ! =成功)返回nRet;nRet = L_DestroyBitmapList (hList);如果(nRet ! =成功)返回nRet;返回成功;}
帮助收藏
光栅net|C API|c++类库|HTML5 JavaScript
文档net|C API|c++类库|HTML5 JavaScript
医疗net|C API|c++类库|HTML5 JavaScript
医疗Web查看器net
188宝金博怎么下载
支持的平台上
net, Java, Android和iOS / macOS组件
C / c++类库的API
HTML5 JavaScript库
你的邮件已经发送到支持!有人应该联系!如果你的问题是紧急请回到聊天。
聊天时间:
周一——周五,上午6点等
谢谢你的反馈!
请填写表单重新开始一个新的聊天。
所有代理目前离线。
聊天时间:
周一-周五
早上8:30 - 6点
联系我们请填写这张表格,我们将通过电子邮件联系你。
