C#中的字体和字体系列
来源:百度文库 编辑:神马文学网 时间:2024/10/06 18:43:03
2009-05-22 16:17
1.字体系列:System.Drawing.FontFamily,指文本的可视化风格,如“宋体”等;
2.字体:System.Drawing.Font,包含了字体系列、文本大小、文本样式等信息。
实例:打印系统上安装的字体
TestFonts:
Form1.cs:
view plaincopy to clipboardprint?
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Drawing.Text; namespace TestFonts { public partial class Form1 : Form { //文本间距 private const int margin = 10; public Form1() { InitializeComponent(); this.AutoScrollMinSize = new Size(200, 3000); this.BackColor = Color.White; } protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); Graphics dc = e.Graphics; int verticalCoordinate = margin; Point topLeftCorner; //取得系统上安装的所有字体 InstalledFontCollection insFont = new InstalledFontCollection(); FontFamily[] families = insFont.Families; dc.TranslateTransform(this.AutoScrollPosition.X, this.AutoScrollPosition.Y); //遍历字体系列 foreach (FontFamily family in families) { //只显示支持普通文本风格的字体系列 if (family.IsStyleAvailable(FontStyle.Regular)) { Font f = new Font(family.Name, 10); topLeftCorner = new Point(margin, verticalCoordinate); //换行 verticalCoordinate += f.Height; dc.DrawString(family.Name, f, Brushes.Black, topLeftCorner); f.Dispose(); } } } } }
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Drawing.Text; namespace TestFonts { public partial class Form1 : Form { //文本间距 private const int margin = 10; public Form1() { InitializeComponent(); this.AutoScrollMinSize = new Size(200, 3000); this.BackColor = Color.White; } protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); Graphics dc = e.Graphics; int verticalCoordinate = margin; Point topLeftCorner; //取得系统上安装的所有字体 InstalledFontCollection insFont = new InstalledFontCollection(); FontFamily[] families = insFont.Families; dc.TranslateTransform(this.AutoScrollPosition.X, this.AutoScrollPosition.Y); //遍历字体系列 foreach (FontFamily family in families) { //只显示支持普通文本风格的字体系列 if (family.IsStyleAvailable(FontStyle.Regular)) { Font f = new Font(family.Name, 10); topLeftCorner = new Point(margin, verticalCoordinate); //换行 verticalCoordinate += f.Height; dc.DrawString(family.Name, f, Brushes.Black, topLeftCorner); f.Dispose(); } } } } }
1.字体系列:System.Drawing.FontFamily,指文本的可视化风格,如“宋体”等;
2.字体:System.Drawing.Font,包含了字体系列、文本大小、文本样式等信息。
实例:打印系统上安装的字体
TestFonts:
Form1.cs:
view plaincopy to clipboardprint?
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Drawing.Text; namespace TestFonts { public partial class Form1 : Form { //文本间距 private const int margin = 10; public Form1() { InitializeComponent(); this.AutoScrollMinSize = new Size(200, 3000); this.BackColor = Color.White; } protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); Graphics dc = e.Graphics; int verticalCoordinate = margin; Point topLeftCorner; //取得系统上安装的所有字体 InstalledFontCollection insFont = new InstalledFontCollection(); FontFamily[] families = insFont.Families; dc.TranslateTransform(this.AutoScrollPosition.X, this.AutoScrollPosition.Y); //遍历字体系列 foreach (FontFamily family in families) { //只显示支持普通文本风格的字体系列 if (family.IsStyleAvailable(FontStyle.Regular)) { Font f = new Font(family.Name, 10); topLeftCorner = new Point(margin, verticalCoordinate); //换行 verticalCoordinate += f.Height; dc.DrawString(family.Name, f, Brushes.Black, topLeftCorner); f.Dispose(); } } } } }
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Drawing.Text; namespace TestFonts { public partial class Form1 : Form { //文本间距 private const int margin = 10; public Form1() { InitializeComponent(); this.AutoScrollMinSize = new Size(200, 3000); this.BackColor = Color.White; } protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); Graphics dc = e.Graphics; int verticalCoordinate = margin; Point topLeftCorner; //取得系统上安装的所有字体 InstalledFontCollection insFont = new InstalledFontCollection(); FontFamily[] families = insFont.Families; dc.TranslateTransform(this.AutoScrollPosition.X, this.AutoScrollPosition.Y); //遍历字体系列 foreach (FontFamily family in families) { //只显示支持普通文本风格的字体系列 if (family.IsStyleAvailable(FontStyle.Regular)) { Font f = new Font(family.Name, 10); topLeftCorner = new Point(margin, verticalCoordinate); //换行 verticalCoordinate += f.Height; dc.DrawString(family.Name, f, Brushes.Black, topLeftCorner); f.Dispose(); } } } } }