好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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;

代码到此结束了,希望对大家有所帮助!

dy("nrwz");

查看更多关于C#编写的艺术字类实例代码的详细内容...

  阅读:48次