text - 如何使用.Net 2.0绘制混合格式的文本

标签 text .net-2.0 system.drawing

有没有办法在.Net 2.0中绘制混合格式的文本?我正在寻找类似的东西

System.Drawing.Graphics.DrawString()


我用这种方法的问题是它只允许整个文本使用一种格式样式。但我需要绘制具有不同格式样式的文本(例如,文本的一部分应加下划线,另一部分应加粗,依此类推)。

非常感谢!
奥立佛

最佳答案

我正从《 WPF in Action》一书中找到答案-您似乎有2个选择:



创建一个自定义控件,并定义自己的标记以指定字体。除了进行大量工作之外,您还必须依靠众所周知的不准确的方法来测量文本的宽度(以便您可以确定下一个单词的位置)。
使用RTF控件。这非常繁琐,您最终将花费大量时间使它看起来像文本而不是编辑控件,并且您必须与RTF一起以所需的方式获取文本。



所以我想答案是RTF控件(又名RichTextBox),如果您仍然使用.NET 2.0-WinForms。好吧,除非您想编写自己的控件... :-)

该书还提到采用各种标签和/或文本框控件,并手动(或以编程方式)将它们对齐并设置为具有不同的字体值等。但是我想您要避免这种情况,对吧?

编辑

我将上述答案留在原地。这是我对您的新回答:

研究GDI +-这是指向C#Corner的教程的链接,该教程应该向您介绍GDI +:http://www.c-sharpcorner.com/uploadfile/mahesh/gdi_plus12092005070041am/gdi_plus.aspx

这是一个应该向您展示如何将GDI +与位图/图像配合使用的链接:http://ondotnet.com/pub/a/dotnet/2003/05/05/gdiplus.html

祝好运!

另外,您可能想读一本有关GDI +的书,因为这是一个非常繁重的话题。我通过Pro .NET 2.0 Windows Forms and Custom Controls in C#书(这是一本很好的书)完成了有关GDI +的大部分学习。尽管由于您对设计WinForms的自定义控件并不十分感兴趣,所以您可能希望寻找一本更直接的书向GDI +。

关于text - 如何使用.Net 2.0绘制混合格式的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2758269/

相关文章:

python - 如何在大文本文件中提取两个唯一单词之间的信息

r - 如何在绘图 (ggplot2) 的文本注释中放置 +/- 加减运算符?

.net - 回发或回调参数无效。使用 '<pages enableEventValidation="true"/>' 启用事件验证

c# - System.Drawing.Internal.GPStream 引起的内存泄漏

.net - 反别名模式差异?

java - .NET 等效或替代 Java 的 GlyphVector?

android - 在 Java 中重新格式化字符串

c# - ClickOnce 和 IsolatedStorage

.net - Visual Studio 2012 .NET Framework 2.0 缺失

powershell - 我可以使用 powershell "draw"/创建具有给定文本的图像吗?