gpt4 book ai didi

c++ - 在 DirectX 9/c++ 中绘制可读文本

转载 作者:行者123 更新时间:2023-12-01 20:25:40 30 4
gpt4 key购买 nike

我想在我的第一人称游戏中在他们的头顶上显示角色的名字(使用 DirectX 9 和 c++)。我使用 D3DXVec3Project 在正确的位置绘制文本来获取屏幕坐标,但仅使用 D3DXFONT 显示文本的可读性不太好。它下面需要有一个背景 Sprite (或呈现纹理的其他方式),以便文本颜色在背景下显示。简而言之,我只想在浅色文本下方绘制一个黑框纹理。

我想要类似于“Morrowind”屏幕截图顶部文本框的内容:http://nerdtrek.com/wp-content/uploads/2011/11/Morrowind-Screenshot.jpg

什么是合理的方法来做到这一点?我尝试简单地加载一个 Sprite 并将其绘制在那里,但即使我将其置于文本位置的中心,我确实需要能够任意拉伸(stretch)它以匹配其所附文本字符串的长度。

任何链接、推荐阅读或示例将不胜感激。感谢您抽出时间。

最佳答案

您可以调用ID3DXFont.DrawString带有 DT_CALCRECT 标志。这应该返回文本边界矩形的宽度/高度,而不绘制它。

使用这些信息,应该很容易绘制任何您想要作为文本背景的 Sprite 。

希望这有帮助!

关于c++ - 在 DirectX 9/c++ 中绘制可读文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10980250/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com