有谁知道如何使标签或文字更平滑?目前他们看起来很棘手。由于我想让标签变为动态,所以我不能只从Photoshop插入文本。如何使文本/标签平滑?
回答
如果您想要反锯齿,您必须动态生成表示文字的图像。下面是msdn上的一个例子:http://msdn.microsoft.com/en-us/library/a619zh6z.aspx
编辑:编辑下面的每条评论。
该链接描述了使用控件的OnPaint事件来使用不同的TextRenderingHint。如果你想要的东西多一点的可重复使用的,你可以做的是创建一个扩展标签类的自定义标签类,并使用这个在您的形式:
public partial class CustomLabel : Label
{
private TextRenderingHint _hint = TextRenderingHint.SystemDefault;
public TextRenderingHint TextRenderingHint
{
get { return this._hint; }
set { this._hint = value; }
}
protected override void OnPaint(PaintEventArgs pe)
{
pe.Graphics.TextRenderingHint = TextRenderingHint;
base.OnPaint(pe);
}
}
添加一个新的自定义控件称为CustomLabel(或者你想调用它的任何东西)并使用上面的代码。重建您的项目,然后您应该看到CustomLabel控件出现在顶部的工具箱中的“MyProject组件”类别下。在此自定义标签的属性窗格中,您将看到新的TextRenderingHint属性。将其设置为“AntiAlias”。为表单添加另一个标签并比较它们的外观。
如果您想将其默认为AntiAlias,只需更改私有变量的默认值即可。
哦,对不起。我只是因为有人低估了你的想法而被驳回。我将如何使用它?当我尝试编译它时,我总是收到错误。 – 2010-04-09 20:34:29
该链接重写OnPaint方法以将TextRenderingHint设置为AntiAlias。请参阅我上面的编辑,了解如何以可重用的方式使用此功能。 – zincorp 2010-04-09 21:16:35
非常感谢!它效果很好。它看起来像这个“d-load.org/Capture.PNG”,看起来像这个“d-load.org/Capture2.PNG”,就像你的例子。不知道为什么有人低估了你......再次感谢! – 2010-04-09 21:39:12
你指的是ClearType吗?然后ClearType必须在Windows中启用,并且您必须使用现代字体,如Tahoma或Segoe UI,而不是MS Sans Serif。
更新
您发布的问题an example。我magnified it to 400 %。清楚地ClearType子像素抗混淆是启用。就我个人而言,我不认为文字看起来很锯齿。如果您想要更高质量的屏幕文本,您可以购买具有更高物理分辨率(每英寸像素)的屏幕,然后以相应较大的尺寸绘制文本。然后文本在屏幕上的大小相同,但看起来会更平滑。
您也可以放弃使用ClearType并使用其他字体平滑算法,但这远非微不足道,因为ClearType在Windows上是,字体平滑系统。
更新2
如果您运行的是Windows 7,你可以微调的ClearType。只需打开开始菜单,写入“ClearType”并开始指南。我认为也有Vista和XP的指南,但也许没有默认安装,但可以作为PowerToys或类似的东西...
已启用。我用Tahoma和Segoe UI尝试过,但它看起来仍然很狡猾。 – 2010-04-09 17:40:16
好的,谢谢。这只是其他程序不具有锯齿的文本,与我目前在ClearType上的设置。我将更改ClearType上的设置并查看它是否更好。再次感谢。 – 2010-04-09 18:15:57
他启用了ClearType。问题在于,对于大字体,cleartype看起来很糟糕。为什么?因为它试图让所有东西都变得锐利,而且锐度看起来像是在24 + pt字体上混淆。 – 2010-08-27 15:32:42
请确保您已启用ClearType。
- 1. 如何创建标签文本滑块
- 2. 如何使CATextLayer平滑文本?
- 3. 如何使滑块移动的标签
- 4. Jquery水平滑动标签机制
- 5. Dimple.js饼图标签的平滑动画?
- 6. android |平滑缺少交换标签gridview
- 7. 平滑滚动并打开标签
- 8. 如何在同一时间滑动标签文本和图像
- 9. 如何使drawLine更平滑?
- 10. 如何使用jquery更改标签标签内的文本
- 11. 如何使用JavaScript从标签标签获取文本?
- 12. 如何使垂直水平标签
- 13. 输入文本框和标签 - 如何让它们平等?
- 14. 如何平滑jQuery滑块?
- 15. 如何平滑iPhone的标记行程?
- 16. 如何使用Google地图平滑地标记标记?
- 17. 如何平滑unigrams
- 18. 文本标签
- 19. gnuplot的标签上标有“平滑独特的”线
- 20. 如何修改KendoUI滑块标签上的标签?
- 21. javafx:如何将滑块刻度标签放置在水平滑块的滑动轨道上方?
- 22. 如何在html文本输入标签中使用上标?
- 23. 补间文本慢动作不平滑
- 24. 变换导致文本平滑
- 25. NSTextView,附加文本和平滑滚动
- 26. 使用ItemTouchHelper.SimpleCallback平滑滑动
- 27. 我如何设置标签的文本
- 28. 如何更改NativeScript标签的文本
- 29. 如何查看标签的文本值?
- 30. 如何更改div标签的文本
你能给我们一张照片吗?你是否启用了ClearType? – 2010-04-09 17:27:14
http://d-load.org/Capture.PNG这是一个标签的图像。看看它看起来相当粗糙和粗糙吗? – 2010-04-09 17:37:51