Summary of commonly used GDI+ text operations in C#
Dec 17, 2016 am 09:55 AM本文实例汇总了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)); }
Copy after login
二、倒影文字
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); }
Copy after login
三、文字填充线条
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)); }
Copy after login
四、旋转文字
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(); } }
Copy after login
五、印版文字
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); }
Copy after login
相信本文所述实例对大家的C#程序设计有一定的帮助。
更多C#常用GDI+文字操作汇总相关文章请关注PHP中文网!
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot Article
Repo: How To Revive Teammates
3 weeks ago
By 尊渡假赌尊渡假赌尊渡假赌
How Long Does It Take To Beat Split Fiction?
3 weeks ago
By DDD
Hello Kitty Island Adventure: How To Get Giant Seeds
3 weeks ago
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
1 weeks ago
By 尊渡假赌尊渡假赌尊渡假赌

Hot tools Tags

Hot Article
Repo: How To Revive Teammates
3 weeks ago
By 尊渡假赌尊渡假赌尊渡假赌
How Long Does It Take To Beat Split Fiction?
3 weeks ago
By DDD
Hello Kitty Island Adventure: How To Get Giant Seeds
3 weeks ago
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
1 weeks ago
By 尊渡假赌尊渡假赌尊渡假赌

Hot Article Tags

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

What are the alternatives to NULL in C language

Method of copying code by C language compiler

What are the web versions of C language compilers?

Is NULL still important in modern programming in C language?

C language online programming website C language compiler official website summary

C language compiler installation tutorial (computer version)
