亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

一、投影文字

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

二、倒影文字

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

四、旋轉文字

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

五、印版文字

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#程序設計有一定的幫助。

相關文章

最新評論