假设我有一个设备上下文句柄(当然,在Windows环境中):
HDC hdc;
Run Code Online (Sandbox Code Playgroud)
我怎样才能得到它的宽度和高度?
Yee*_*Fei 22
设备上下文(DC)是一种结构,它定义一组图形对象及其相关属性,以及影响输出的图形模式.
根据宽度和高度,我猜你是指绘制的位图?
如果是这样,那么我想你可以尝试以下方法:
BITMAP structBitmapHeader;
memset( &structBitmapHeader, 0, sizeof(BITMAP) );
HGDIOBJ hBitmap = GetCurrentObject(hDC, OBJ_BITMAP);
GetObject(hBitmap, sizeof(BITMAP), &structBitmapHeader);
//structBitmapHeader.bmWidth
//structBitmapHeader.bmHeight
Run Code Online (Sandbox Code Playgroud)
Cog*_*eel 12
我对GDI也知之甚少,但似乎GetDeviceCaps可能会做到这一点.
小智 5
当我只有 HDC 时,我总是使用这段简单的代码来获取渲染区域的尺寸。首先,您必须从 HDC 获取 HWND - 很简单,然后您可以获取此 HWND 的客户端 rect:
RECT rcCli;
GetClientRect(WindowFromDC(hdc), &rcCli);
// then you might have:
nWidth = rcCli.right-rcCli.left;
nHeight = rcCli.bottom-rcCli.top;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13041 次 |
| 最近记录: |