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

來源:互聯網
上載者:User
本文執行個體匯總了C#常用GDI+文字操作,包含了文字的投影、倒影、旋轉等常見的效果,在進行C#應用程式開發中有不錯的實用價值。分享給大家供大家參考之用。具體如下:

一、投影文字

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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.