win32窗口如何显示图片?Bitblt后显示不了?
我在注册窗口时设置背景为一张图片:
HBITMAP hBmp=(HBITMAP)LoadBitmap(hInst,MAKEINTRESOURCE(IDB_BITMAP1));
HBRUSH g_hbrBackground=CreatePatternBrush(hBmp);
wcex.hbrBackground = g_hbrBackground;
...
现在还想在窗口中显示另外一张图片(在背景图片上面)
case WM_PAINT:
{
hdc = BeginPaint(hWnd, &ps);
BITMAP bitmap;
HBITMAP hBmps=(HBITMAP)LoadBitmap(hInst,MAKEINTRESOURCE(IDB_BITMAP2));
GetObject(hBmps,sizeof(BITMAP),&bitmap);
HDC hdcMem=CreateCompatibleDC (hdc);
SelectObject(hdcMem, hBmps);
BitBlt (hdc, 0, 0, bitmap.bmWidth, bitmap.bmHeight, hdcMem, 0, 0, SRCCOPY) ;
DeleteDC(hdcMem);
EndPaint(hWnd, &ps);
}
只显示背景图片,没有显示载入的另外一张图片??
HBITMAP hBmp=(HBITMAP)LoadBitmap(hInst,MAKEINTRESOURCE(IDB_BITMAP1));
HBRUSH g_hbrBackground=CreatePatternBrush(hBmp);
wcex.hbrBackground = g_hbrBackground;
...
现在还想在窗口中显示另外一张图片(在背景图片上面)
case WM_PAINT:
{
hdc = BeginPaint(hWnd, &ps);
BITMAP bitmap;
HBITMAP hBmps=(HBITMAP)LoadBitmap(hInst,MAKEINTRESOURCE(IDB_BITMAP2));
GetObject(hBmps,sizeof(BITMAP),&bitmap);
HDC hdcMem=CreateCompatibleDC (hdc);
SelectObject(hdcMem, hBmps);
BitBlt (hdc, 0, 0, bitmap.bmWidth, bitmap.bmHeight, hdcMem, 0, 0, SRCCOPY) ;
DeleteDC(hdcMem);
EndPaint(hWnd, &ps);
}
只显示背景图片,没有显示载入的另外一张图片??
...全文
相关推荐
MFC 图片切割分窗口显示、动态捕捉显示器内容并多窗口显示
通过调整窗口大小和位置,我们可以使每个窗口显示图片的一部分。对于“动态捕捉显示器内容”,我们需要使用Windows API函数BitBlt(),它可以将一个设备上下文的内容复制到另一个设备上下文。
win32汇编环境,窗口程序显示bmp图像文件
在窗口程序中,加载BMP图像文件,并显示出来。
使用HWND截指定句柄窗口的图片
利用`HWND`,我们可以对特定窗口进行各种操作,包括截取窗口的屏幕快照。在`.NET`框架下,可以通过调用Win32 API函数来实现这一功能。本篇将详细讲解如何使用`HWND`截取指定窗口的图片。
窗口截图(可后台截取DX窗口)_窗口后台截图_窗口截图_后台窗口截图_DX窗口截图_
该项目实现了多种基于Win32 API的后台窗口截图方法,支持DirectX渲染窗口的内容捕获。核心技术包括BitBlt、Desktop Duplication API和DWM共享表面,结合Sharp
BitBlt方法应用事例
该项目是一个Windows Forms应用程序,演示如何使用GDI+的BitBlt函数进行位图图像的块拷贝操作。通过调用非托管Win32 API,实现从源Bitmap到目标Bitmap的高效图形复制,


图形处理/算法
