Direct3D 2D文本绘制

Direct3D 2D文本绘制_第1张图片

现在学习下Direct3D在窗口中绘制一些文本信息,ID3DXFont接口负责创建字体和绘制二维的文本.我们介绍下ID3DXFont的用法.

1.创建LPD3DXFONT接口

LPD3DXFONT g_pTextInfor = NULL;        
    //创建字体
    D3DXCreateFont(g_pd3dDevice,                //Direct3D设备
        26,                                        //字体的高度
        0,                                        //字体的宽度
        1000,                                    //字体的权重值
        0,                                        //过滤属性
        false,                                    //是否斜体
        DEFAULT_CHARSET,                        //字符集
        OUT_DEFAULT_PRECIS,                        //文本的精度
        DEFAULT_QUALITY,                        //输出的质量
        0,                                        //字体的索引号,一般填0
        L"黑体",                                //字体类型                                    
        &g_pTextInfor);

2.绘制文本

g_pd3dDevice->Clear(0, NULL, D3DCLEAR_TARGET|D3DCLEAR_ZBUFFER, D3DCOLOR_XRGB(0, 0, 0), 1.0f, 0);

//定义一个矩形,用于获取主窗口矩形
RECT formatRect;
GetClientRect(hwnd, &formatRect);
g_pd3dDevice->BeginScene();                     // 开始绘制
g_pTextInfor->DrawText(0,L"盘子",-1,&formatRect,DT_SINGLELINE | DT_NOCLIP | DT_LEFT, D3DCOLOR_RGBA(235,123,230,255));


g_pd3dDevice->EndScene();                       // 结束绘制
g_pd3dDevice->Present(NULL, NULL, NULL, NULL);  // 翻转与显示

你可能感兴趣的:(Direct3D 2D文本绘制)