C#编写的艺术字类实例代码
发布时间:2020-12-15 06:52:56 所属栏目:百科 来源:网络整理
导读:废话不多说了,直接给大家上代码了,具体代码如下所示: 代码如下: using System;using System.Collections.Generic;using System.ComponentModel;using System.Drawing;using System.Drawing.Text;using System.Drawing.Drawing2D;using System.Data;using
废话不多说了,直接给大家上代码了,具体代码如下所示: 代码如下: 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#visual studio 2012中的endregion标签跳转到区域标
- NoSQL之Redis(三) --- Redis在项目中的运用
- ios – XCode 6.3为tableviewcell添加边距
- nand_get_flash_type: second ID read did not match 0e,ec
- Ajax、Comet与Websocket
- Cisco交换机端口聚合、VTP、ACL配置实例
- postgresql中的toast表
- ruby-on-rails – Rails 3迁移不适用于Heroku
- LinQ实战学习笔记(一) LINQ to (Objects, XML, SQL) 入门初
- 使用Validator改进数据向导生成的Flex应用