Visual C# 2005 - 如何利用程序代码产生多变化字体之笔刷字
2006-11-15 13:48
686 查看
[align=left]除了图像之外,如果要针对文字做出绘图变化,则 .Net Framework 之 System.Drawing 命名空间中的 Graphics 与 Brush 类别将最是简便的。接下来,,我们将介绍如何运用笔刷来产生带有花纹与渐层效果的文字。 [/align]
[align=left] [/align]
[align=left]程序范例 [/align]
[align=left] 图表1[/align]
[align=center][b]图表2 [/align]
[align=center] [/align]
[align=left]我们撰写了一个程序范例,示范如何利用 Graphics 类别的 DrawString 方法来产生带有花纹与渐层效果的文字,执行结果如图表 1 与 2 所示,程序代码如下所示: [/align]
[align=left]SizeF textSize;
Graphics g;
Brush myBrush;
RectangleF gradientRectangle;
Font myFont = new Font("Times New Roman",
(float)this.nudFontSize.Value, FontStyle.Regular);
g = picDemoArea.CreateGraphics();
g.Clear(Color.White);
textSize = g.MeasureString(this.txtShortText.Text, myFont);
if(this.optHatch.Checked)
{
myBrush = new HatchBrush(HatchStyle.DiagonalBrick, Color.Blue,
Color.Yellow);
}
else
{
gradientRectangle = new RectangleF(new PointF(0, 0), textSize);
myBrush = new LinearGradientBrush(gradientRectangle,
Color.Blue,
Color.Yellow, LinearGradientMode.ForwardDiagonal);
}
g.DrawString(txtShortText.Text, myFont, myBrush,
(picDemoArea.Width - textSize.Width) / 2,
(picDemoArea.Height - textSize.Height) / 2);[/align][/b]
[align=left] [/align]
[align=left]程序范例 [/align]
[align=left] 图表1[/align]
[align=center][b]图表2 [/align]
[align=center] [/align]
[align=left]我们撰写了一个程序范例,示范如何利用 Graphics 类别的 DrawString 方法来产生带有花纹与渐层效果的文字,执行结果如图表 1 与 2 所示,程序代码如下所示: [/align]
[align=left]SizeF textSize;
Graphics g;
Brush myBrush;
RectangleF gradientRectangle;
Font myFont = new Font("Times New Roman",
(float)this.nudFontSize.Value, FontStyle.Regular);
g = picDemoArea.CreateGraphics();
g.Clear(Color.White);
textSize = g.MeasureString(this.txtShortText.Text, myFont);
if(this.optHatch.Checked)
{
myBrush = new HatchBrush(HatchStyle.DiagonalBrick, Color.Blue,
Color.Yellow);
}
else
{
gradientRectangle = new RectangleF(new PointF(0, 0), textSize);
myBrush = new LinearGradientBrush(gradientRectangle,
Color.Blue,
Color.Yellow, LinearGradientMode.ForwardDiagonal);
}
g.DrawString(txtShortText.Text, myFont, myBrush,
(picDemoArea.Width - textSize.Width) / 2,
(picDemoArea.Height - textSize.Height) / 2);[/align][/b]
相关文章推荐
- Visual C# 2005 - 如何利用程序代码产生多变化字体之笔刷字
- Visual C# 2005 - 如何利用程序代码产生多层次绘图效果
- Visual C# 2005 - 如何利用程序代码产生多层次绘图效果
- Visual C# 2005 - 如何利用程序代码动态存取设定文件
- Visual C# 2005 - 如何利用程序代码动态存取设定文件
- Visual C# 2005 - 如何利用程序代码动态存取设定文件
- Visual C# 2005 - 如何制作多变化字体之阴影字
- Visual C# 2005 - 如何制作多变化字体之向量字
- Visual C# 2005 - 利用程序代码制作简单动画效果
- Visual C# 2005 - 如何制作多变化字体之阴影字
- Visual C# 2005 - 如何制作多变化字体之向量字
- Visual C# 2005 - 利用程序代码制作简单动画效果
- Visual C# 2005 - 如何制作多变化字体之浮雕字
- Visual C# 2005 - 如何制作多变化字体之浮雕字
- Android如何利用代码动态改变字体颜色
- android如何在代码中让字体大小在不同分辨率中随之变化?
- C语言系列(三):最近重拾C语言的想法,谈到C中易错点,难点;以及开源代码中C语言的一些常用技巧,以及如何利用define、typedef、const等写健壮的C程序
- 如何将eclipse的程序代码和注释字体变大
- C语言系列(四):最近重拾C语言的想法,谈到C中易错点,难点;以及开源代码中C语言的一些常用技巧,以及如何利用define、typedef、const等写健壮的C程序
- 如何编写程序使得数据库服务器变化时代码不需要重新编译