# include“l_bitmap.h”
L_LTEFX_APIL_INTL_EfxPaintBitmap(hDC, pBitmap, pSrc, psrclip, pDest, pDestClip, uEffect, uGrain, uDelay, nSpeed, nCycles, uPass, uMaxPass, fTransparency, crTransparency, uWandWidth, crWand, uROP)
将位图绘制到目标设备上下文时应用效果。效果通常用于幻灯片的过渡,它指定图像是如何绘制的,而不是绘制完成时的外观。
目标设备上下文的句柄。
指向引用要绘制的位图的位图句柄的指针。
指向Windows RECT结构的指针,该结构指定要用作显示源的位图部分。
RECT结构中的坐标是相对于位图的。您可以传递NULL来使用默认值,它与位图匹配。
指向Windows RECT结构的指针,该结构指定要绘制的显示源的部分。通常,这用于在源位图的部分发生变化时更新显示。
RECT结构中的坐标是相对于位图的。您可以传递NULL来使用默认值,它与位图匹配。
指向Windows RECT结构的指针,该结构决定源矩形如何缩放以及图像如何在设备上下文中定位。
RECT结构中的坐标是相对于设备上下文的。该参数没有默认值。必须指定RECT结构。
指向Windows RECT结构的指针,该结构指定要绘制的显示矩形的部分。通常,这用于更新显示表面的更改,例如当用户移动另一个窗口时,将显示被覆盖的图像的一部分。
RECT结构中的坐标是相对于设备上下文的。您可以传递NULL来使用默认值,它与设备上下文匹配。
涂漆时的效果。有效值请参见影响类型.
粒化的大小。这是绘制效果时要更新的最小尺寸(像素宽度或高度)。使用小颗粒使绘画更流畅,但需要更长的时间作画。使用大的颗粒会使画更粗糙,但画得更快。如果uEffect参数来自Wave类,它表示波的持续时间或高度。取值范围为1 ~ 256。
颗粒化步骤之间的延迟,以毫秒为单位。
波的速度。取值范围为1 ~ 256。该参数仅当uEffect参数来自Wave类。
用于绘制波浪的循环或重复次数。该参数仅当uEffect参数来自Wave类。
使用图案刷时传递数字。使用1表示一次粉刷。
一个图案刷的最大通行次数。使用1表示一次粉刷。
属性中指定的颜色的像素不绘制,从而实现透明度crTransparency参数;如果没有实现透明性,则为FALSE。
指定透明颜色的COLORREF值。
魔杖宽度,以像素为单位。
指定魔杖颜色的COLORREF值。
决定如何更新目标矩形的Windows ROP代码。该参数的代码与Windows BitBlt函数相同。对于普通绘画,使用SRCCOPY。
| 价值 | 意义 |
|---|---|
| 成功 | 活动很成功。 |
| < 1 | 发生错误。指返回代码. |
若要在执行此函数期间更新状态栏或检测用户中断,请参阅L_SetStatusCallback.
使用此函数代替L_PaintDCEffect当需要更多或不同的油漆效果时。
使用uGrain而且uDelay参数来控制显示速度。uGrain参数控制绘画增量的大小,uDelay控制增量之间的时间。
魔杖是一个纯色条,在效果期间移动。小颗粒尺寸产生最好的魔杖效果。中列出的许多影响影响类型可以有一根魔杖。
使用见血封喉而且uMaxPass参数,以在多个通道中绘制图像。例如,如果你想要一个3-pass的油漆,使用uMaxPass的3和油漆3次,一次uPass = 1,一次uPass = 2,一次uPass = 3。
此函数使用的源矩形和目标矩形与L_PaintDC.有关矩形的完整解释,请参阅L_PaintDC.
有关一般信息,请参阅执行特殊效果.
EFX_EFFECT_PUSH_CLASS的多通道绘制被禁用。
如果uEffect参数是旋转类、波浪类、白色翻转类、翻转类、替换类、激光类、正常渐隐类、黑白渐隐类、彩色渐隐类或波浪类见血封喉和uMaxPass参数没有影响。
如果uEffect参数来自Fade Normal类、Fade Black and White类或Fade Color类,uGrain参数没有效果。但是,如果uEffect参数来自Wave类,则uGrain参数包含波的大小。
如果uEffect参数来自White Turnover类、Turnover类或Replace类,则uWandWidth而且crWand参数无效。但是,如果uEffect参数来自Fade Color类,crWand参数包含位图颜色级别。
的全国而且nCycles参数仅当uEffect参数来自Wave类。
必需的dll和库
x64 Win32。
这个例子显示了使用L_EfxPaintBitmap的最低要求。
L_INT EfxPaintBitmapExample(HWND HWND,矩形* pd,BITMAPHANDLE * pBitmap){L_INT nRet;HDC HDC;/*设备上下文为当前窗口*/hSavedPalette = NULL;/*当前系统面板的临时副本*/HPALETTE hOurPalette = NULL;/*我们将用来绘制*/的调色板L_INT nBitsPerPixel;/*获取设备上下文*/hdc = GetDC (hWnd);/*检查设备查看如果我们需要一个调色板nBitsPerPixel = GetDeviceCaps(hdc, BITSPIXEL) * GetDeviceCaps(hdc, PLANES);如果(nBitsPerPixel <=8){hOurPalette = L_CreatePaintPalette (hdc, pBitmap);hSavedPalette = SelectPalette (hdc, hOurPalette, FALSE);/*实现调色板*/RealizePalette (hdc);}/*绘制位图使用3步*/nRet = L_EfxPaintBitmap (hdc, /*设备上下文*/ .pBitmap, /*位图绘制*/NULL, /*源矩形*/NULL, /*源剪辑矩形*/pDest, /*目标矩形*/NULL, /*目标剪辑矩形*/EFX_EFFECT_WIPE4_L_R_T_B, /*效果应用于绘制过渡*/5、/*晶粒尺寸*/10, /*颗粒化步骤之间的延迟*/0, /*波速*/0, /*循环次数或重复次数*/1、/*步数为图案刷*/3、/*最大步长为图案刷*/假的,/ *做不使用透明度*/0, /*无透明颜色*/0, /*棒宽度*/0, /*没有魔杖颜色*/SRCCOPY);/* Windows光栅操作代码*/如果(nRet != SUCCESS)返回nRet;nRet = L_EfxPaintBitmap (hdc, /*设备上下文*/ .pBitmap, /*位图绘制*/NULL, /*源矩形*/NULL, /*源剪辑矩形*/pDest, /*目标矩形*/NULL, /*目标剪辑矩形*/EFX_EFFECT_WIPE_RECTANGLE_IN, /*效果应用于绘制过渡*/5、/*晶粒尺寸*/10, /*颗粒化步骤之间的延迟*/0, /*波速*/0, /*循环次数或重复次数*/2、/*步数为图案刷*/3、/*最大步长为图案刷*/假的,/ *做不使用透明度*/0, /*无透明颜色*/0, /*棒宽度*/0, /*没有魔杖颜色*/SRCCOPY);/* Windows光栅操作代码*/如果(nRet != SUCCESS)返回nRet;nRet = L_EfxPaintBitmap (hdc, /*设备上下文*/ .pBitmap, /*位图绘制*/NULL, /*源矩形*/NULL, /*源剪辑矩形*/pDest, /*目标矩形*/NULL, /*目标剪辑矩形*/EFX_EFFECT_WIPE_RECTANGLE_OUT, /*效果应用于绘制过渡*/5、/*晶粒尺寸*/10, /*颗粒化步骤之间的延迟*/0, /*波速*/0, /*循环次数或重复次数*/3、/*步数为图案刷*/3、/*最大步长为图案刷*/假的,/ *做不使用透明度*/0, /*无透明颜色*/0, /*棒宽度*/0, /*没有魔杖颜色*/SRCCOPY);/* Windows光栅操作代码*/如果(nRet != SUCCESS)返回nRet;/*恢复旧的调色板*/如果(hOurPalette){SelectPalette (hdc, hSavedPalette, FALSE);DeleteObject (hOurPalette);}/*释放设备上下文*/release asedc (hWnd, hdc);返回成功;}
帮助收藏
光栅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点
如需与我们联系,请填写此表格,我们将通过电子邮件与您联系。
