程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#經常使用GDI+文字操作匯總

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

編輯:C#入門知識

C#經常使用GDI+文字操作匯總。本站提示廣大學習愛好者:(C#經常使用GDI+文字操作匯總)文章只能為提供參考,不一定能成為您想要的結果。以下是C#經常使用GDI+文字操作匯總正文


本文實例匯總了C#經常使用GDI+文字操作,包括了文字的投影、倒影、扭轉等罕見的後果,在停止C#運用法式開辟中有不錯的適用價值。分享給年夜家供年夜家參考之用。詳細以下:

1、投影文字

private void Form1_Paint(object sender, PaintEventArgs e)
{
  //投影文字
  Graphics g = this.CreateGraphics();
  //設置文本輸入質量
  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);
  //對畫圖立體實行坐標變換、、
  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));
}

2、倒影文字

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);
}

3、文字填充線條

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)); 
}

4、扭轉文字

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

5、印版文字

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);
}

信任本文所述實例對年夜家的C#法式設計有必定的贊助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved