加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C#常用GDI+文字操作汇总

发布时间:2020-12-15 05:43:10 所属栏目:百科 来源:网络整理
导读:本文实例汇总了C#常用GDI+文字操作,包含了文字的投影、倒影、旋转等常见的效果,在进行C#应用程序开发中有不错的实用价值。供大家参考研究之用。具体如下: 一、投影文字 private void Form1_Paint(object sender,PaintEventArgs e){ //投影文字 Grap

本文实例汇总了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,colorBrush,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,-height);
  g.Restore(state);
  g.DrawString(text,foreBrush,-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,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),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,posX - i,posY + i);
 i = i + 1;
  }
  g.DrawString(text,posX,posY);
}

相信本文所述实例对大家的C#程序设计有一定的帮助。

您可能感兴趣的文章:

  • 深入c# GDI+简单绘图的具体操作步骤(一)
  • 深入c# GDI+简单绘图的具体操作步骤(三)
  • 深入c# GDI+简单绘图的具体操作步骤(四)
  • BarCode条形码基于C# GDI+ 的实现方法详解
  • C#利用GDI+绘制旋转文字等效果实例
  • 深入c# GDI+简单绘图的具体操作步骤(二)
  • C#使用GDI+创建缩略图实例
  • C# 使用 GDI+ 实现添加中心旋转(任意角度)的文字
  • C#利用GDI+画图的基础实例教程
  • C#利用GDI+给图片添加文字(文字自适应矩形区域)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读