C#编写的艺术字类实例代码
2016-03-25 12:08
1291 查看
废话不多说了,直接给大家上代码了,具体代码如下所示:
代码如下:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Drawing.Text; using System.Drawing.Drawing2D; using System.Data; using System.Text; using System.Windows.Forms; public partial class WordArt : UserControl//这是一个艺术字的控件 { //文本属性 private string _text = "WordArt"; public string Caption { get { return _text; } set { _text = value; } } //字体以及大小 private Font _WordArtFont = new Font("宋体",15); public Font WordArtFont { get { return _WordArtFont; } set { _WordArtFont = value; } } //颜色 private Color _WordArtForeColor = Color.BlueViolet; public Color WordArtForeColor { get { return _WordArtForeColor; } set { _WordArtForeColor = value; } } //阴影的颜色 private Color _WordArtBackColor = Color.Gray; public Color WordArtBackColor { set { _WordArtBackColor = value; } get { return _WordArtBackColor; } } //文本输出质量:呈现模式和平滑效果 private TextRenderingHint _TextRenderingHint = TextRenderingHint.ClearTypeGridFit; public TextRenderingHint WordArtTextRenderingHint { get { return _TextRenderingHint; } set { _TextRenderingHint = value; } } public SmoothingMode _SmoothingMode = SmoothingMode.AntiAlias; public SmoothingMode WordArtSmoothingMode { get { return _SmoothingMode; } set { _SmoothingMode = value; } } public WordArt() { InitializeComponent(); } //艺术字的形式:阴影,浮雕…… private WordArtEffectStyle _WordArtEffect=WordArtEffectStyle.projection;//投影为默认形式; public WordArtEffectStyle WordArtEffect { get { return _WordArtEffect; } set { _WordArtEffect = value; } } protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); Graphics g = this.CreateGraphics(); Brush backBrush=new SolidBrush(this.WordArtBackColor); Brush foreBrush=new SolidBrush(this.WordArtForeColor); SizeF size = g.MeasureString(this.Caption, this.WordArtFont); Single posX = (this.Width - Convert.ToInt16(size.Width)) / 2; Single posY = (this.Height - Convert.ToInt16(size.Height)) / 2; switch (this.WordArtEffect) { case WordArtEffectStyle.projection://投影效果 //设置文本输出质量 g.TextRenderingHint = this.WordArtTextRenderingHint; g.SmoothingMode = this.WordArtSmoothingMode; Matrix matrix = new Matrix(); //投射 matrix.Shear(-1.5f, 0.0f); //缩放 matrix.Scale(1, 0.5f); //平移 matrix.Translate(120, 75); //对绘图平面坐标实施变换 g.Transform = matrix;
代码到此结束了,希望对大家有所帮助!
您可能感兴趣的文章:
相关文章推荐
- Linux C函数参考手册(PDF版)
- C# partial关键字说明
- Lua教程(十七):C API简介
- 简单谈谈lua和c的交互
- C#中的委托数据类型简介
- C#实现打造气泡屏幕保护效果
- 举例讲解C#编程中委托的实例化使用
- 使用C#代码获取存储过程返回值
- C/C++数据对齐详细解析
- 利用C语言来求最大连续子序列乘积的方法
- 字符串的组合算法问题的C语言实现攻略
- C 语言基础教程(我的C之旅开始了)[三]
- 学习C和C++的9点经验总结
- C++中的extern “C”用法详解
- C 语言基础教程(我的C之旅开始了)[七]
- 最大子矩阵问题实例解析
- C字符串操作函数实现方法小结
- C语言中static的作用及C语言中使用静态函数有何好处
- 字典树的基本知识及使用C语言的相关实现