本人现在正在做一个编辑软件,使用TextOut输出问题,之前先选入字体(LOGFONT),以便自己决定字高等参数,原先一直在2000下测试,没有问题,最近给别人在XP下测试,发现字比较小的时候就很不清晰,主要表现在颜色很淡,但是比较大了以后就没问题了,比如1cm以上,百思不得其解,可怜的是现在外面大多数机器都是XP,我试着把选入字体的时候lfFaceName位设置为"System",就不会出现这样的问题,但是就没有了自己设置字体的权利,更严重的是无法更改大小,请各位高人指点!
9 个解决方案
#1
mark
#2
看一下LOGFONT里的值
1. LONG lfWeight; 值是不是给大或给小了.
2. lfCharSet, 是不是给错了,比方说GB2312_CHARSET给成ANSI_CHARSET了
1. LONG lfWeight; 值是不是给大或给小了.
2. lfCharSet, 是不是给错了,比方说GB2312_CHARSET给成ANSI_CHARSET了
#3
都没有啊,大哥,不是简单的设错值,我在2000下一点问题也没有,帮帮忙啊,郁闷死了.
#4
根XP系统有关系
#5
应该是由于系统设置不同造成的
你把显示属性(桌面上右键选属性)->外观->效果 中的
“使用下列方式使屏幕字体的边缘平滑”
设置成“清晰”,默认设置为“标准”试试
这个设置可以通过 SystemParametersInfo 函数来完成
你把显示属性(桌面上右键选属性)->外观->效果 中的
“使用下列方式使屏幕字体的边缘平滑”
设置成“清晰”,默认设置为“标准”试试
这个设置可以通过 SystemParametersInfo 函数来完成
#6
这位大哥好像比较有经验啊,可是我现在本来就在"标准"上面,而且为什么用他的"System'字体就没问题.
#7
那位高人来救场啊
#8
试了半天,终于发现原因了,还是受到了空气同志的启发,无论 清晰 还是 标准 都没用,但干脆是把“使用下列方式使屏幕字体的边缘平滑”前面的复选框去掉就可以了,估计了windows认为字体太细需要和背景平滑过渡.
#9
对头! 这是ClearType技术在作怪
ClearType是微软利用LCD硬件组成原理实现的一总增强字体清晰度的技术,主要用在LCD上,当然系统必须支持到GDI+核心,也就是XP以上
CLearType 在全屏抗锯齿方面做的很优秀,她的原理就是在原来锯齿位置加入彩色的过渡方块,所以字体轮廓看起来是真彩色的
而且转折位置尽量减小RGB在垂直方向的色差,所以看起来很平滑
^_^ WinXP的CRT显示平台 虽然显示属性也可以启用"清晰"支持,但是这不是真正的ClearType,而且效果明显不如LCD
想必lz也就是这个问题~~
ClearType是微软利用LCD硬件组成原理实现的一总增强字体清晰度的技术,主要用在LCD上,当然系统必须支持到GDI+核心,也就是XP以上
CLearType 在全屏抗锯齿方面做的很优秀,她的原理就是在原来锯齿位置加入彩色的过渡方块,所以字体轮廓看起来是真彩色的
而且转折位置尽量减小RGB在垂直方向的色差,所以看起来很平滑
^_^ WinXP的CRT显示平台 虽然显示属性也可以启用"清晰"支持,但是这不是真正的ClearType,而且效果明显不如LCD
想必lz也就是这个问题~~
#1
mark
#2
看一下LOGFONT里的值
1. LONG lfWeight; 值是不是给大或给小了.
2. lfCharSet, 是不是给错了,比方说GB2312_CHARSET给成ANSI_CHARSET了
1. LONG lfWeight; 值是不是给大或给小了.
2. lfCharSet, 是不是给错了,比方说GB2312_CHARSET给成ANSI_CHARSET了
#3
都没有啊,大哥,不是简单的设错值,我在2000下一点问题也没有,帮帮忙啊,郁闷死了.
#4
根XP系统有关系
#5
应该是由于系统设置不同造成的
你把显示属性(桌面上右键选属性)->外观->效果 中的
“使用下列方式使屏幕字体的边缘平滑”
设置成“清晰”,默认设置为“标准”试试
这个设置可以通过 SystemParametersInfo 函数来完成
你把显示属性(桌面上右键选属性)->外观->效果 中的
“使用下列方式使屏幕字体的边缘平滑”
设置成“清晰”,默认设置为“标准”试试
这个设置可以通过 SystemParametersInfo 函数来完成
#6
这位大哥好像比较有经验啊,可是我现在本来就在"标准"上面,而且为什么用他的"System'字体就没问题.
#7
那位高人来救场啊
#8
试了半天,终于发现原因了,还是受到了空气同志的启发,无论 清晰 还是 标准 都没用,但干脆是把“使用下列方式使屏幕字体的边缘平滑”前面的复选框去掉就可以了,估计了windows认为字体太细需要和背景平滑过渡.
#9
对头! 这是ClearType技术在作怪
ClearType是微软利用LCD硬件组成原理实现的一总增强字体清晰度的技术,主要用在LCD上,当然系统必须支持到GDI+核心,也就是XP以上
CLearType 在全屏抗锯齿方面做的很优秀,她的原理就是在原来锯齿位置加入彩色的过渡方块,所以字体轮廓看起来是真彩色的
而且转折位置尽量减小RGB在垂直方向的色差,所以看起来很平滑
^_^ WinXP的CRT显示平台 虽然显示属性也可以启用"清晰"支持,但是这不是真正的ClearType,而且效果明显不如LCD
想必lz也就是这个问题~~
ClearType是微软利用LCD硬件组成原理实现的一总增强字体清晰度的技术,主要用在LCD上,当然系统必须支持到GDI+核心,也就是XP以上
CLearType 在全屏抗锯齿方面做的很优秀,她的原理就是在原来锯齿位置加入彩色的过渡方块,所以字体轮廓看起来是真彩色的
而且转折位置尽量减小RGB在垂直方向的色差,所以看起来很平滑
^_^ WinXP的CRT显示平台 虽然显示属性也可以启用"清晰"支持,但是这不是真正的ClearType,而且效果明显不如LCD
想必lz也就是这个问题~~