如何在System.Drawing中切换粗体和常规字体

时间:2013-01-22 15:19:47

标签: c#

我正在使用System.Drawing工具来创建图形。图形中有很多文字标签。

我创建了字体:

var font = new Font("Verdana", 10);

然后,对于每个标签,将文本设为粗体,或者不使用:

font = new Font(font, FontStyle.Bold);
font = new Font(font, FontStyle.Regular);

我希望将标签的所有文本与字体大小一起存储在数据库中,以及是否为粗体。

假设我从数据库中返回值列表,例如:

10,大胆

12,定期

10,大胆,

14,粗体

10,定期

并将这些值放在具有myfontSize和myfontStyle属性的列表对象中并循环遍历列表...修改System.Drawing字体以反映每个字体大小和字体重量的变化的最佳方法是什么迭代?

1 个答案:

答案 0 :(得分:0)

您还没有提供足够的信息来完全回答这个问题。但是,如果您没有详细了解如何获得列表,如果您有一个字体大小/样式列表,那么您只需迭代该集合并创建一个新的字体对象,例如。

var fontCollection = new List<KeyValuePair<int, string>>();
fontCollection.Add(new KeyValuePair<int, string>(10, "Bold"));
fontCollection.Add(new KeyValuePair<int, string>(12, "Regular"));
fontCollection.Add(new KeyValuePair<int, string>(14, "Bold"));
foreach (var item in fontCollection)
{
    var font = new Font("Verdana", item.Key, (FontStyle)Enum.Parse(typeof(FontStyle), item.Value));
    // use font
}