Direct9 ID3DXFont绘制

本文介绍了CFont类中的Draw方法实现,该方法用于在指定的矩形区域内绘制文本,并详细解释了如何设置正确的矩形区域以避免在backbuffer上出现位置计算错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

HRESULT CFont::Draw(LPCTSTR pString, DWORD Format, D3DCOLOR Color)
{
    HRESULT hr;
    hr = m_Font->DrawText(
    0,
    pString,
    -1,
    &m_Rect,
    Format,
    Color);

    return hr;
}	

hr = g_Font->Draw(
	g_Str,
	DT_TOP | DT_RIGHT,
	D3DCOLOR_XRGB(87, 170, 244));

注意m_Rect应该在初始时"固定",如果用GetClientRect什么的获得反而会出问题,可以猜到的是因为这东东是在backbuffer上计算位置的吧(猜测?)然后经过视口变换到窗口,这个问题困扰了很久

也就是说位置(rect)一开始就要固定好了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值