本文将介绍如何使用 System.Drawing 命名空间中的 Graphics 与 Brush 类别来制作带有向量效果的文字。
程序范例
图表1
图表2
图表 1 与 2 的程序范例示范如何利用 Graphics 类别的 Shear、Transform、TranslateTransform 以及 DrawString 方法,来根据用户所选取的刻度去调整绘图字号,以便产生带有向量效果的文字,程序代码如下所示:
SizeF textSize;
Graphics g;
Brush myForeBrush = Brushes.Blue;
Font myFont = new Font("Times New Roman",
(float)this.nudFontSize.Value, FontStyle.Regular);
Matrix myTransform;
float xLocation, yLocation;
g = picDemoArea.CreateGraphics();
g.Clear(Color.White);
textSize = g.MeasureString(this.txtShortText.Text, myFont);
xLocation = (picDemoArea.Width - textSize.Width) / 2;
yLocation = (picDemoArea.Height - textSize.Height) / 2;
g.TranslateTransform(xLocation, yLocation);
myTransform = g.Transform;
myTransform.Shear((float)nudSkew.Value, 0);
g.Transform = myTransform;
g.DrawString(txtShortText.Text, myFont, myForeBrush, 0, 0);