DirectX中绘制文字效果分析(3D/c++)
2011-03-12 22:07
519 查看
D3DXCreateText方法 绘制三维网格文字
(1)创建网格 Text指针
Code:
ID3DXMesh* Text =0;
(2)获得设备上下文的句柄
Code:
HDC hdc = CreateCompatibleDC(0);
(3)定义并填充 LOGFONT 对象 lf;
Code:
ZeroMemory(&lf, sizeof(LOGFONT));
lf.lfHeight = 25;
lf.lfWidth = 12;
lf.lfEscapement = 0;
lf.lfOrientation = 0;
lf.lfWeight = 500; lf.lfItalic = false;
lf.lfUnderline = false;
lf.lfStrikeOut = false;
lf.lfCharSet = DEFAULT_CHARSET;
lf.lfOutPrecision = 0;
lf.lfClipPrecision = 0;
lf.lfQuality = 0;
lf.lfPitchAndFamily = 0;
strcpy((char*)lf.lfFaceName,"Consolas");
(4)创建Font 并把它选入设备上下文中
Code:
HFONT hFont;
HFONT hFontOld;
(5)创建 hFont,并且设备描述符关联新的hFont(新的
hFont 加载描述符lf)
Code:
ID3DXMesh * Text= 0;
D3DXCreateText(Device, hdc, _T("Game /n devil"),
0.001f, 0.1f, &Text, 0, 0);
(6)还原HDC
Code:
SelectObject(hdc,HFontOld);
DeleteObject( hFont );
DeleteDC( hdc );
(7)在Display()方法中 设置材质,
并 调用DrawSubset(0)方法绘制文字
在Device->BeginScene();和 Device->EndScene();之间调用
Device->SetMaterial
(&d3d::WHITE_MTRL);
Text->DrawSubset(0);
效果如下:
(1)创建网格 Text指针
Code:
ID3DXMesh* Text =0;
(2)获得设备上下文的句柄
Code:
HDC hdc = CreateCompatibleDC(0);
(3)定义并填充 LOGFONT 对象 lf;
Code:
ZeroMemory(&lf, sizeof(LOGFONT));
lf.lfHeight = 25;
lf.lfWidth = 12;
lf.lfEscapement = 0;
lf.lfOrientation = 0;
lf.lfWeight = 500; lf.lfItalic = false;
lf.lfUnderline = false;
lf.lfStrikeOut = false;
lf.lfCharSet = DEFAULT_CHARSET;
lf.lfOutPrecision = 0;
lf.lfClipPrecision = 0;
lf.lfQuality = 0;
lf.lfPitchAndFamily = 0;
strcpy((char*)lf.lfFaceName,"Consolas");
(4)创建Font 并把它选入设备上下文中
Code:
HFONT hFont;
HFONT hFontOld;
(5)创建 hFont,并且设备描述符关联新的hFont(新的
hFont 加载描述符lf)
Code:
ID3DXMesh * Text= 0;
D3DXCreateText(Device, hdc, _T("Game /n devil"),
0.001f, 0.1f, &Text, 0, 0);
(6)还原HDC
Code:
SelectObject(hdc,HFontOld);
DeleteObject( hFont );
DeleteDC( hdc );
(7)在Display()方法中 设置材质,
并 调用DrawSubset(0)方法绘制文字
在Device->BeginScene();和 Device->EndScene();之间调用
Device->SetMaterial
(&d3d::WHITE_MTRL);
Text->DrawSubset(0);
效果如下:
相关文章推荐
- DirectX绘制物体时物体表面纯色无3D效果的解决方案
- PS教程!手把手教你绘制酷炫的文字人像效果
- C#利用GDI+绘制旋转文字等效果实例
- DirectX 3D_基础之镜面效果 阴影 阴影矩阵 防止二次融合 网格 子集和属性缓存 绘制子集 网格优化 属性表 邻接信息 克隆 创建网格
- 转载:GDI+绘制文字的位置偏移分析
- UI - 绘制 - 文字(或者其他控件)阴影效果
- Skia深入分析5——skia文字绘制的实现
- Skia深入分析5——skia文字绘制的实现
- Skia深入分析5——skia文字绘制的实现
- Skia深入分析5——skia文字绘制的实现
- C#中使用GDI+绘制辉光效果文字
- 绘制文字,设置阴影效果
- C#利用GDI+绘制旋转文字等效果
- Quartz2D绘制水印文字没有阴影效果处理
- webkit源码分析系列-css盒模型和元素绘制
- textout 在标题栏绘制文字_textout
- JavaScript实现弹窗效果代码分析
- Path类:利用PathEffect为路径绘制不同效果
- 利用jQuary实现文字浮动提示效果示例代码
- 文字与图片互相切换js效果