首页
社区
课程
招聘
未解决 [已解决]D3Dx9绘制字体模糊
发表于: 2019-3-15 16:05 3048

未解决 [已解决]D3Dx9绘制字体模糊

2019-3-15 16:05
3048
用ID3DXFont绘制字体,大小都很模糊. 就是没有那种矢量清晰感.
我试过设置抗锯齿.改变字体等等 效果都是一样很模糊.
我看其他的同Directx9游戏的字体却可以做到大小字体都非常清晰.
他们是如何做到的? directx9资料也少. 只找到一本Directx9游戏编程入门基础..
但是并没有提到字体模糊什么的..(左边翅膀上的字, 右边的是PS上做好的成品图片字体)
求帮忙,哪怕一点点资料也可以,万分感谢

以下是我的实现代码:
//绘制字体;
BOOL DirectX92D::DrawFont(const char *OutFont, int FontSize, int Weight, BOOL ltalic, const char *FontName, LPRECT rect, D3DCOLOR Color) {
	D3DXFONT_DESCA D3dfont = { 0 };
	D3dfont.Height = FontSize + 1;
	D3dfont.Width = FontSize;
	D3dfont.Weight = Weight;
	D3dfont.MipLevels = D3DX_DEFAULT;
	D3dfont.Italic = ltalic;
	D3dfont.CharSet = DEFAULT_CHARSET;
	D3dfont.OutputPrecision = 0;
	D3dfont.Quality = 0;
	D3dfont.PitchAndFamily = 0;
	strcpy(D3dfont.FaceName, FontName);
	LPD3DXFONT DxFont = nullptr;
	D3DXCreateFontIndirectA(D3DDevice9, &D3dfont, &DxFont);
	if (!DxFont)return FALSE;
	DxFont->DrawTextA(NULL, OutFont, -1, rect, DT_TOP | DT_LEFT, Color);
	DxFont->Release();
	return TRUE;
}


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

最后于 2019-3-16 01:19 被ezrealik编辑 ,原因: 已解决
收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 45
活跃值: (2575)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
分辨率 
2019-3-15 18:37
1
雪    币: 1570
活跃值: (383)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
3
CrackFive 分辨率
1024*768的分辨率, 主屏幕分辨率是1080p的分辨率. 而且不应该啊. 不管多大分辨率应该都一样才对.毕竟我这是窗口模式,没有大屏拉伸.
2019-3-15 19:18
0
雪    币: 45
活跃值: (2575)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
ezrealik 1024*768的分辨率, 主屏幕分辨率是1080p的分辨率. 而且不应该啊. 不管多大分辨率应该都一样才对.毕竟我这是窗口模式,没有大屏拉伸.
LPD3DXFONT pFont; 
//在Endscene 里创建一次即可
if (!pFont)D3DXCreateFontA(pDevice, 13, 0, 0, 0, false, DEFAULT_CHARSET, OUT_CHARACTER_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH, "Calibri", &pFont);
VOID WriteText(LPDIRECT3DDEVICE9 pDevice, INT x, INT y, DWORD color, CHAR *text, LPD3DXFONT font)
{
	RECT rect;
	SetRect(&rect, x, y, x, y);
	font->DrawTextA(NULL, text, -1, &rect, DT_NOCLIP | DT_LEFT, color);
}

2019-3-15 22:37
1
雪    币: 1570
活跃值: (383)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
5
非常感谢,你的帮助 请问为什么D3DXCreateFontIndirectA 创建的字体会模糊? 是因为我哪个参数的问题吗?
2019-3-16 01:17
0
雪    币: 45
活跃值: (2575)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
ezrealik 非常感谢,你的帮助[em_63][em_63] 请问为什么D3DXCreateFontIndirectA 创建的字体会模糊? 是因为我哪个参数的问题吗?
第一种 设置字体的宽度和高度 有问题 第二种就是游戏默认画质问题  解决方法自己创建一个透明窗口覆盖游戏窗口即可实现高清 
2019-3-16 14:12
1
雪    币: 1570
活跃值: (383)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
7
CrackFive 第一种 设置字体的宽度和高度 有问题 第二种就是游戏默认画质问题 解决方法自己创建一个透明窗口覆盖游戏窗口即可实现高清
哦哦, 好的明白了,谢谢你的帮助
2019-3-16 15:27
0
游客
登录 | 注册 方可回帖
返回
//