游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1290|回复: 1

请问各位大虾,D3D中改变字体的问题

[复制链接]

3

主题

3

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2007-3-1 21:24:00 | 显示全部楼层 |阅读模式
我写了个D3D的程序,里面是这样设置字体的
CFont::CFont(LPDIRECT3DDEVICE8 dp,LPSTR font,int nHeight,bool fBold, bool fItalic, bool fUnderlined)
{
        HFONT hFont;

    m_pD3DDevice = dp;
   
    int nWeight = FW_NORMAL;
       
    DWORD dwItalic = 0;
    DWORD dwUnderlined = 0;

    if(fBold)
    {
        nWeight = FW_BOLD;
    }

    if(fItalic)
    {
        dwItalic = 1;
    }

    if(fUnderlined)
    {
        dwUnderlined = 1;
    }

    hFont = CreateFont(nHeight, 0, 0, 0, nWeight, dwItalic, dwUnderlined, 0,
                       ANSI_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH|FF_DONTCARE, font);
   
    D3DXCreateFont(m_pD3DDevice, hFont, &m_pFont);
}
void CFont:rawText(LPSTR txt, int x, int y, D3DCOLOR rgbFontColour)
{
        RECT Rect;

    Rect.left = x;
    Rect.top = y;
    Rect.right = 0;
    Rect.bottom = 0;

    m_pFont->Begin();
    m_pFont->DrawTextA(txt, -1, &Rect, DT_CALCRECT, 0); //Calculate the size of the
                                                          //rect needed
    m_pFont->DrawTextA(txt, -1, &Rect, DT_LEFT, rgbFontColour); //Draw the text
    m_pFont->End();


}
主函数里面是这样的创建字体的
font = new CFont(m_pD3DDevice,"华文新魏",50,false,false,false);
但是问题是不管我怎么设置字体,都是系统默认字体,哪位有经验的大虾能告诉我啊,谢谢了!

8

主题

716

帖子

716

积分

高级会员

Rank: 4

积分
716
发表于 2007-3-13 11:31:00 | 显示全部楼层

Re:请问各位大虾,D3D中改变字体的问题

如果贵机中没有装“华文新魏”的字体则创建变为默认字体
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-26 16:59

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表