我有一个问题。我尝试使用DirectX 9在我的屏幕上绘图,但出于某种原因所有字体(使用圆边)我尝试使用的质量很差,这还包括从下载的字体互联网,我不知道我做错了什么,或者我是否只是偏执狂。
图片:
我的创建字体代码:
D3DXCreateFont(pDevice, 30, 0, FW_BOLD, 1, 0, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_DONTCARE, "Roboto", &pFont);
我尝试了很多东西,比如:
FW_BOLD to FW_SEMIBOLD
DEFAULT_QUALITY to ANTIALIASED_QUALITY
但没有显示结果。
我的DrawString函数:
void D3D9Draw::String(int x, int y, DWORD Flag, int FontID, D3DCOLOR Color, std::string String, ...)
{
char Buffer[256];
va_list args;
va_start(args, String);
vsprintf_s(Buffer, String.c_str(), args);
va_end(args);
if (FontID >= (int)m_Font.size())
FontID = 0;
RECT Rect = { x, y, x, y };
m_Font[FontID]->DrawText(NULL, Buffer, -1, &Rect, Flag | DT_NOCLIP, Color);
}
顺便说一句,抱歉我的坏人。