欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#常用GDI+文字操作匯總

 更新時(shí)間:2014年08月26日 15:56:44   投稿:shichen2014  
這篇文章主要介紹了C#常用GDI+文字操作,包括文字投影、倒影、旋轉(zhuǎn)等特效,對(duì)于提升程序界面的視覺效果有很大的用處,需要的朋友可以參考下

本文實(shí)例匯總了C#常用GDI+文字操作,包含了文字的投影、倒影、旋轉(zhuǎn)等常見的效果,在進(jìn)行C#應(yīng)用程序開發(fā)中有不錯(cuò)的實(shí)用價(jià)值。分享給大家供大家參考之用。具體如下:

一、投影文字

private void Form1_Paint(object sender, PaintEventArgs e)
{
  //投影文字
  Graphics g = this.CreateGraphics();
  //設(shè)置文本輸出質(zhì)量
  g.TextRenderingHint = TextRenderingHint.ClearTypeGridFit;
  g.SmoothingMode = SmoothingMode.AntiAlias;
  Font newFont = new Font("Times New Roman", 48);
  Matrix matrix = new Matrix();
  //投射
  matrix.Shear(-1.5f, 0.0f);
  //縮放
  matrix.Scale(1, 0.5f);
  //平移
  matrix.Translate(130, 88);
  //對(duì)繪圖平面實(shí)施坐標(biāo)變換、、
  g.Transform = matrix;
  SolidBrush grayBrush = new SolidBrush(Color.Gray);
  SolidBrush colorBrush = new SolidBrush(Color.BlueViolet);
  string text = "MINGRISOFT";
  //繪制陰影
  g.DrawString(text, newFont, grayBrush, new PointF(0, 30));
  g.ResetTransform();
  //繪制前景
  g.DrawString(text, newFont, colorBrush, new PointF(0, 30));
}

二、倒影文字

private void Form1_Paint(object sender, PaintEventArgs e)
{
  //倒影文字
  Brush backBrush = Brushes.Gray;
  Brush foreBrush = Brushes.Black;
  Font font = new Font("幼圓", Convert.ToInt16(40), FontStyle.Regular);
  Graphics g = this.CreateGraphics();
  string text = "MINGRISOFT";
  SizeF size = g.MeasureString(text, font);
  int posX = (this.Width - Convert.ToInt16(size.Width)) / 2;
  int posY = (this.Height - Convert.ToInt16(size.Height)) / 2;
  g.TranslateTransform(posX, posY);
  int ascent = font.FontFamily.GetCellAscent(font.Style);
  int spacing = font.FontFamily.GetLineSpacing(font.Style);
  int lineHeight = System.Convert.ToInt16(font.GetHeight(g));
  int height = lineHeight * ascent / spacing;
  GraphicsState state = g.Save();
  g.ScaleTransform(1, -1.0F);
  g.DrawString(text, font, backBrush, 0, -height);
  g.Restore(state);
  g.DrawString(text, font, foreBrush, 0, -height);
}

三、文字填充線條

private void Form1_Paint(object sender, PaintEventArgs e)
{
  //使用圖像填充文字線條
  TextureBrush brush = new TextureBrush(Image.FromFile(Application.StartupPath + "\\花.jpg"));
  Graphics g = e.Graphics;
  g.DrawString("MINGRISOFT", new Font("隸書", 60), brush, new PointF(0, 0)); 
}

四、旋轉(zhuǎn)文字

private void Form1_Paint(object sender, PaintEventArgs e)
{
  //旋轉(zhuǎn)顯示文字
  Graphics g = e.Graphics;
  g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
  for (int i = 0; i <= 360; i += 10)
  {  
 //平移Graphics對(duì)象到窗體中心
 g.TranslateTransform(this.Width / 2, this.Height / 2);
 //設(shè)置Graphics對(duì)象的輸出角度
 g.RotateTransform(i);
 //設(shè)置文字填充顏色
 Brush brush = Brushes.DarkViolet;
 //旋轉(zhuǎn)顯示文字
 g.DrawString("......MINGRISOFT", new Font("Lucida Console", 11f), brush, 0, 0);
 //恢復(fù)全局變換矩陣
 g.ResetTransform();
  }
}

五、印版文字

private void Form1_Paint(object sender, PaintEventArgs e)
{
  //印版文字
  int i = 0;
  Brush backBrush = Brushes.Black;
  Brush foreBrush = Brushes.Violet;
  Font font = new Font("Times New Roman", System.Convert.ToInt16(40), FontStyle.Regular);
  Graphics g = this.CreateGraphics();
  g.Clear(Color.White);
  string text = "MINGRISOFT";
  SizeF size = g.MeasureString(text, font);
  Single posX = (this.Width - Convert.ToInt16(size.Width)) / 2;
  Single posY = (this.Height - Convert.ToInt16(size.Height)) / 3;
  while (i < Convert.ToInt16(20))
  {
 g.DrawString(text, font, backBrush, posX - i, posY + i);
 i = i + 1;
  }
  g.DrawString(text, font, foreBrush, posX, posY);
}

相信本文所述實(shí)例對(duì)大家的C#程序設(shè)計(jì)有一定的幫助。

相關(guān)文章

最新評(píng)論