当前位置: 首页 > 编程笔记 >

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

汤承德
2023-03-14
本文向大家介绍C#常用GDI+文字操作汇总,包括了C#常用GDI+文字操作汇总的使用技巧和注意事项,需要的朋友参考一下

本文实例汇总了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#程序设计有一定的帮助。

 类似资料:
  • 本文向大家介绍C# DatagridView常用操作汇总,包括了C# DatagridView常用操作汇总的使用技巧和注意事项,需要的朋友参考一下 本文汇总了C#中DatagridView的常用操作,有助于读者加深对C# DatagridView用法的理解,具体如下: 1、(最基本的技巧)、获取某列中的某行(某单元格)中的内容 2、自定义列     继承 DataGridViewTextBoxCe

  • 本文向大家介绍C#利用GDI绘制常见图形和文字,包括了C#利用GDI绘制常见图形和文字的使用技巧和注意事项,需要的朋友参考一下 废话不多说,我们先来认识一下这个GDI+,看看它到底长什么样。 GDI+:Graphics Device Interface Plus也就是图形设备接口,提供了各种丰富的图形图像处理功能;在C#.NET中,使用GDI+处理二维(2D)的图形和图像,使用DirectX处理三

  • 本文向大家介绍C#路径,文件,目录及IO常见操作汇总,包括了C#路径,文件,目录及IO常见操作汇总的使用技巧和注意事项,需要的朋友参考一下 本文实例汇总了C#路径,文件,目录及IO常见操作。分享给大家供大家参考。具体如下: 问题1:如何判定一个给定的路径是否有效/合法; 通过Path.GetInvalidPathChars或Path.GetInvalidFileNameChars方法获得非法的路径

  • 本文向大家介绍C语言单链表常见操作汇总,包括了C语言单链表常见操作汇总的使用技巧和注意事项,需要的朋友参考一下 C语言的单链表是常用的数据结构之一,本文总结了单链表的常见操作,实例如下:

  • 本文向大家介绍java常见的字符串操作和日期操作汇总,包括了java常见的字符串操作和日期操作汇总的使用技巧和注意事项,需要的朋友参考一下 一、字符串操作 创建字符串 String s2 = new String("Hello World"); String s1 = "Hello World"; 1.字符串连接 多个字符串链接时,每个字符串之间用+相连,+就是字符串链接,连接之后生成一个新的字符

  • 本文向大家介绍JavaScript数组常用操作技巧汇总,包括了JavaScript数组常用操作技巧汇总的使用技巧和注意事项,需要的朋友参考一下 本文实例汇总了JavaScript数组的常用操作技巧。分享给大家供大家参考。具体如下: 前言 相信大家都用惯了jquery或者underscore等这些类库中常用的数组相关的操作,如$.isArray,_.some,_.find等等方法。这里无非是对原生j