C#编写的艺术字类实例代码
来源:本站原创|时间:2020-01-10|栏目:C#教程|点击: 次
废话不多说了,直接给大家上代码了,具体代码如下所示:
代码如下:
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;
代码到此结束了,希望对大家有所帮助!
上一篇:C#利用GDI绘制常见图形和文字
栏 目:C#教程
本文标题:C#编写的艺术字类实例代码
本文地址:https://www.xiuzhanwang.com/a1/C_jiaocheng/6623.html
您可能感兴趣的文章
- 01-10C#编程实现自定义热键的方法
- 01-10C#编程获取资源文件中图片的方法
- 01-10C#编程自学之数据类型和变量二
- 01-10C#编程自学之开篇介绍
- 01-10C#编程自学之数据类型和变量三
- 01-10C#编程自学之运算符和表达式
- 01-10C#编程自学之类和对象
- 01-10C#类的多态性详解
- 01-10C++调用C#的DLL程序实现方法
- 01-10C#编程和Visual Studio使用技巧(下)
阅读排行
本栏相关
- 01-10C#通过反射获取当前工程中所有窗体并
- 01-10关于ASP网页无法打开的解决方案
- 01-10WinForm限制窗体不能移到屏幕外的方法
- 01-10WinForm绘制圆角的方法
- 01-10C#实现txt定位指定行完整实例
- 01-10WinForm实现仿视频播放器左下角滚动新
- 01-10C#停止线程的方法
- 01-10C#实现清空回收站的方法
- 01-10C#通过重写Panel改变边框颜色与宽度的
- 01-10C#实现读取注册表监控当前操作系统已
随机阅读
- 08-05dedecms(织梦)副栏目数量限制代码修改
- 01-11Mac OSX 打开原生自带读写NTFS功能(图文
- 01-10使用C语言求解扑克牌的顺子及n个骰子
- 01-10delphi制作wav文件的方法
- 01-11ajax实现页面的局部加载
- 08-05织梦dedecms什么时候用栏目交叉功能?
- 01-10SublimeText编译C开发环境设置
- 08-05DEDE织梦data目录下的sessions文件夹有什
- 01-10C#中split用法实例总结
- 04-02jquery与jsp,用jquery