C++ CreateFont API质量

C++ CreateFont API质量,c++,windows,gdi,photoshop,C++,Windows,Gdi,Photoshop,因此,我尝试使用CreateFont创建一种与我在Photoshop中使用的字体相似的字体,但如果仔细观察,Photoshop中的质量要好得多 下面是我用来创建字体的代码: CreateFont(45, 0, 0, 0, FW_BOLD, 0, 0, 0, DEFAULT_CHARSET, OUT_OUTLINE_PRECIS, CLIP_DEFAULT_PRECIS, ANTIALIASED_QUALITY, FF_MODERN, __T("Times New Roman&q

因此,我尝试使用
CreateFont
创建一种与我在Photoshop中使用的字体相似的字体,但如果仔细观察,Photoshop中的质量要好得多

下面是我用来创建字体的代码:

CreateFont(45, 0, 0, 0, FW_BOLD, 0, 0, 0, DEFAULT_CHARSET, OUT_OUTLINE_PRECIS,
    CLIP_DEFAULT_PRECIS, ANTIALIASED_QUALITY, FF_MODERN, __T("Times New Roman"));
下面是两种字体的比较:

如您所见,顶部的更平滑。
我应该在
CreateFont
中使用不同的参数吗?我承认我并不完全理解他们。
一个解释会很好。

Photoshop使用它自己的抗锯齿,并始终如一地应用它

Windows仅对某些限制内的字体大小使用抗锯齿,而且您的示例似乎超出了限制。以下是一段引自(重点补充)的话:

抗锯齿\如果字体支持抗锯齿,且字体的大小不太小或太大,则高质量字体为抗锯齿或平滑字体


在GDI+中您可能有更好的控件。

好的,那么有没有办法将控件设置为使用GDI+字体绘制
WM_SETFONT
只接受
HFONT
s,所以我需要所有者绘制它吗?或者这有什么诀窍。@Josh,你说得对,使用GDI+的唯一方法是进行所有者绘制。仔细看一下这个示例,Windows实际上是在消除字体的锯齿,它的效果比Photoshop差得多。