# include“l_bitmap.h”
L_LTEFX_APIL_INTl_efxtil竖立(hdcDest, prcDest, hdcSrc, prcSrc)
执行将源矩形像素从指定的源设备上下文传输到目标设备上下文的位块传输,同时将源平铺以适合目标。
目标设备上下文的句柄。
指向目标矩形的指针。
源设备上下文的句柄。
指向源矩形的指针。
价值 | 意义 |
---|---|
成功 | 函数运行成功。 |
< 1 | 发生错误。指返回代码. |
当你想要一个特殊的绘画效果时,使用这个函数来替代Windows BitBlt C API函数。
如果源矩形小于目标矩形,则源矩形将根据需要复制(平铺)多次以适合目标矩形。
一般信息请参考实施特效.
所需的dll和库
x64 Win32。
这个函数展示了如何使用l_efxtil竖立。
L_INT EfxTileRectExample(HWND HWND)
{
L_INT nRet;
HDC画;/*设备上下文为当前窗口*/
HDC hdcSrc;/*设备上下文为源图像*/
BITMAPHANDLE位图;/*图像将被BLT */
HBITMAP hbmMem;/*图像将被BLT */
HPALETTE = NULL;/*当前系统调色板的临时副本*/
hPaintPal = NULL;/*我们将用来绘制的调色板*/
L_INT nBitsPerPixel;
L_RECT rcDst;
L_RECT rcSrc;
/*获取设备上下文*/
hdcDest = GetDC (hWnd);
/*检查设备查看如果我们需要一个调色板
nBitsPerPixel = GetDeviceCaps(hdcDest, BITSPIXEL) * GetDeviceCaps(hdcDest, PLANES);
/*加载图片到BLT */
/*加载图像为屏幕位深度*/
nRet = L_LoadBitmap(MAKE_IMAGE_PATH(TEXT))“IMAGE1。CMP”)),位图,运算符(BITMAPHANDLE), (nBitsPerPixel <= 8) ?nBitsPerPixel: 24, ORDER_BGR, NULL, NULL);
如果(nRet != SUCCESS)
返回nRet;
/*创建源DC */
hdcSrc = CreateCompatibleDC(hdcDest);
/*将图像转换为DDB并将其选择到源dc */
hbmMem = l_converttobb (hdcDest, &Bitmap);
L_FreeBitmap(位图);
hbmMem = (HBITMAP)SelectObject(hdcSrc, hbmMem);
如果(nBitsPerPixel <=8)
{
hPaintPal = L_CreatePaintPalette(hdcDest, &Bitmap);
hSavedPalette = SelectPalette (hdcDest, hPaintPal, FALSE);
/*实现调色板*/
RealizePalette(画);
}
/*平铺图像使用L_EfxTileRect * /
GetClientRect (hWnd, &rcDst);
SetRect(&rcSrc, 0,0,100,100);
nRet = l_efxtil竖立(hdcDest, &rcDst, hdcSrc, &rcSrc);
如果(nRet != SUCCESS)
返回nRet;
/*恢复旧调色板*/
如果(hPaintPal)
{
SelectPalette (hdcDest, hSavedPalette, FALSE);
DeleteObject (hPaintPal);
}
/*释放设备上下文*/
释放c (hWnd, hdcDest);
DeleteDC (hdcSrc);
DeleteObject (hbmMem);
返回成功;
}
帮助收藏
光栅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点
感谢您的反馈!
请重新填写表格以开始新的聊天。
所有代理当前都处于离线状态。
聊天时间:
星期一至星期五
上午8:30 -下午6点
要联系我们,请填写此表格,我们将通过电子邮件与您联系。