# include“l_bitmap.h”
L_LTDIS_APIL_INTL_PaintRgnDCCallback(pCallbackData, pBitmap, pSrc, pClipSrc, pDst, pClipDst, uROP3)
使用绘制回调绘制位图区域。这个函数的工作原理与L_PaintDCCallback,除了只有位图区域被绘制。
指向包含设备上下文(DC)和绘制回调的结构的指针。设备上下文的映射模式必须为MM_TEXT。
指向位图句柄的指针,该句柄引用具有区域的位图。
指向Windows RECT结构的指针,该结构指定要用作显示源的位图部分。
RECT结构中的坐标是相对于位图的。您可以传递NULL来使用默认值,它与位图匹配。
指向Windows RECT结构的指针,该结构指定要绘制的显示源的部分。通常,这用于在源位图的部分发生变化时更新显示。
RECT结构中的坐标是相对于位图的。您可以传递NULL来使用默认值,它与位图匹配。
指向Windows RECT结构的指针,该结构决定源矩形如何缩放以及图像如何在设备上下文中定位。
RECT结构中的坐标是相对于设备上下文的。该参数没有默认值。必须指定RECT结构。
指向Windows RECT结构的指针,该结构指定要绘制的显示矩形的部分。通常,这用于更新显示表面的更改,例如当用户移动另一个窗口时,将显示被覆盖的图像的一部分。
RECT结构中的坐标是相对于设备上下文的。您可以传递NULL来使用默认值,它与设备上下文匹配。然而,在大多数情况下,你应该使用Windows WM_PAINT消息返回的矩形。
决定如何更新目标矩形的Windows ROP代码。该参数的代码与Windows BitBlt函数相同。对于普通绘画,使用SRCCOPY。
价值 | 意义 |
---|---|
成功 | 活动很成功。 |
< 1 | 发生错误。指返回代码. |
您要绘制的HDC应该存储在PAINTCALLBACKDATA结构。有关您可以覆盖哪些GDI函数的详细信息,188宝金博安卓下载请参考其文档。
必需的dll和库
x64 Win32。
这个例子展示了使用位图调色板绘制位图当前区域的最低要求。
PaintRgnDCCallbackExample(L_HWND hWnd, pBITMAPHANDLE pBitmap)
{
L_INT nRet;
HDC HDC;/*设备上下文为当前窗口*/
矩形rcLeadDest;/*目标矩形为绘画* /
hSavedPalette = NULL;/*当前系统面板的临时副本*/
HPALETTE hOurPalette = NULL;/*我们将用来绘制*/的调色板
/*绘制回调数据结构*/
/*获取设备上下文*/
hdc = GetDC (hWnd);
/*设置目标矩形与位图相同。
其他绘画矩形可以采用默认值。* /
SetRect(&rcLeadDest, 0,0, BITMAPWIDTH(pBitmap), BITMAPHEIGHT(pBitmap));
/*创建用于绘制*/的调色板
hOurPalette = L_CreatePaintPalette (hdc, pBitmap);
/*选择我们的调色板并保存旧的*/
hSavedPalette = SelectPalette (hdc, hOurPalette, FALSE);
/*实现调色板*/
RealizePalette (hdc);
/*初始化油漆回调数据结构*/
memset (&PaintCallbackData 0运算符(PaintCallbackData));
PaintCallbackData。uStructSize =运算符(PAINTCALLBACKDATA);
PaintCallbackData。pDisplay = hdc;
/*设置油漆回调为您在这里重写的GDI函数
PaintCallbackData。pIsCompatibleDC = MyIsCompatibleDC;
PaintCallbackData。pStretchDIBits = MyStretchDIBits;
等
* /
/*绘制图像*/
nRet = L_PaintRgnDCCallback(&PaintCallbackData, /*回调数据结构*/
pBitmap, /*位图句柄*/
NULL, /*默认源矩形*/
NULL, /*默认源剪辑区域*/
&rcLeadDest, /*目标矩形*/
NULL, /*默认目标剪切矩形*/
SRCCOPY);/* ROP3代码为a普通油漆*/
如果(nRet != SUCCESS)
返回nRet;
/*恢复旧的调色板*/
SelectPalette (hdc, hSavedPalette, FALSE);
/*释放设备上下文*/
ReleaseDC (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点
如需与我们联系,请填写此表格,我们将通过电子邮件与您联系。