• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > C#常用GDI+文字操作汇总

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

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了c#gdi绘图,c#gdi,c#gdi 教程,c#中gdi,c#gdi画图等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本文实例汇总了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));
}

</div>

二、倒影文字

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

</div>

三、文字填充线条

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

</div>

四、旋转文字

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

</div>

五、印版文字

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

</div>

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

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • C#使用GDI画圆的方法
  • C#使用GDI绘制矩形的方法
  • C#使用GDI绘制直线的方法
  • C#使用GDI+创建缩略图实例
  • C#利用GDI+绘制旋转文字等效果实例
  • C# GDI在控件上绘图的方法
  • C#常用GDI+文字操作汇总
  • 深入c# GDI+简单绘图的具体操作步骤(四)
  • 深入c# GDI+简单绘图的具体操作步骤(三)
  • 深入c# GDI+简单绘图的具体操作步骤(二)

相关文章

  • 2017-05-28C#运算符之与,或,异或及移位运算小结
  • 2017-05-28c#字符长度查询代码
  • 2017-05-28关于C# TabPage如何隐藏的问题
  • 2017-05-28采用C#实现软件自动更新的方法
  • 2017-05-28C#实现更改MDI窗体背景颜色的方法
  • 2017-05-28C#函数式程序设计之用闭包封装数据的实现代码
  • 2017-05-28C#运算符大全_各种运算符号的概述及作用
  • 2017-05-28C#使用Protocol Buffer(ProtoBuf)进行Unity中的Socket通信
  • 2017-05-28c# 冒泡排序算法(Bubble Sort) 附实例代码
  • 2017-05-28C#中Convert.ToInt32()和int.Parse()的区别介绍

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C#获取客户端相关信息实例总结
    • C#使用系统方法发送异步邮件完整实例
    • c#处理3种json数据的实例
    • C#实现功能强大的中国农历日历操作类
    • DevExpress实现为TextEdit设置水印文字的方法
    • C#特性-迭代器(上)及一些研究过程中的副产品
    • C#接口interface用法实例
    • 谈一谈autofac组件的实例范围
    • C# 开发圆角控件(窗体)的具体实现
    • c#消息提示框messagebox的详解及使用

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有