2.5(?) Text and Fonts Using cFont(字)

来源:互联网 发布:简单编程 编辑:程序博客网 时间:2024/05/19 14:54

2.5(?) Text and Fonts Using cFont()

。。。。。。。。。。。。。。。。。。。。。。。

class cFont

{

private:

ID3DXFont *m_Font; // Font COM 对象

public:

 

cFont(); // 构造函数

~cFont(); // 析构函数

ID3DXFont *GetFontCOM(); // 返回 font COM 对象

// 创建和释放font

BOOL Create(cGraphics *Graphics, char *Name, /

long Size = 16, BOOL Bold = FALSE, /

BOOL Italic = FALSE, BOOL Underline = FALSE, /

BOOL Strikeout = FALSE);

BOOL Free();

// 开始和结束文字的绘制

BOOL Begin();

BOOL End();

//打印指定的文本

BOOL Print(char *Text, long XPos, long YPos, /

long Width = 0, long Height = 0, /

D3DCOLOR Color = 0xFFFFFFFF, DWORD Format = 0);

};

 

 

要使用一个font,你必须用cFont::Create函数创建。你必须通过一个已经初始化过的cGraphics对象,给他一个字体名称(如Times New Roman,宋体),并指定尺寸。你可以用选择的使用加粗、斜体、下划线、striceout(这后两个DX9不用了)

 

(那个Begin,End也不用了);

 

想要打印一行文本,你需要给cFont::Print函数提供一个指向你文本的指针,在哪开始打印的坐标,盒子(bounding box)尺寸(默认为0,意味着整个屏幕),文本颜色(默认为白色,使用D3DCOLOR_RGBA来定义一个颜色),文本格式如表,(我就不翻译这个表了,很容易理解吧):(在上面)

 

 

 

一个简单的例子:

// 如果 g_Graphics是一个已经初始化过的cGraphics 对象

cFont ArialFont;

ArialFont.Create(&g_Graphics, Arial); // Arial 字体 16

ArialFont.Print(I can print fonts!, 0,0); // 0,0点开始打印

 

原创粉丝点击