日期:2013-05-25  浏览次数:20339 次

在.net Framework的框架中有很多操作各种图形的函数,包括:点,线,面等等,构成的各种各样的丰富的图象。

在这里我主要是介绍在.Net Framework中GDI+下的TEXT(文本)的操作。首先以一个小小的程序开始:

   建立一个Windows应用程序

   在窗体上添加一个Button控件 和 一个PictureBox控件.    在Button控件的事件中添加,如下代码:

 

 SizeF textSize ;//定义一个SizeF的变量,而SizeF的描述:

//存储有序浮点数对,通常为矩形的宽度和高度。

Graphics g;

Brush myBrush ;//定义一个刷子。

 Font myFont = new Font("Times new Roman", 80, FontStyle.Bold);

//定义要输出字体的样式和大小

g = pictureBox1.CreateGraphics();//CreateGraphics 方法

也可以使用某控件或窗体的 CreateGraphics 方法来获取对 Graphics 对象的引用,该对象表示该控件或窗体的绘图表面

g.Clear(Color.White);// 清除整个绘图面并以指定背景色填充。

string str = "Kevin";//要输出的文本

textSize = g.MeasureString(str,myFont);// 测量用指定的 Font 对象绘制的指定字符串。

myBrush=new HatchBrush(HatchStyle.DashedUpwardDiagonal,Color.Blue,Color.White);

//这里使用的是HatchBrush画刷。

g.DrawString(str,myFont,myBrush,(pictureBox1.Width/4),(pictureBox1.Height/2)); //输出文本

当然如果将上述代码在变一下的话。就是另外一番风景啊~~

SizeF textSize ;

Graphics g;

Brush myBrush;

Single xLocation,yLocation;

Matrix myMatrix;

Font myFont = new Font("Times new Roman", 80, FontStyle.Bold);

g = pictureBox1.CreateGraphics();

g.Clear(Color.White);

string str = "Kevin";

textSize = g.MeasureString(str,myFont);

xLocation = (pictureBox1.Width/4)-5;

yLocation =(pictureBox1.Height/2-5);

g.TranslateTransform(xLocation,yLocation);

myMatrix = g.Transform;

myMatrix.Shear(1,0);

g.Transform = myMatrix;

myBrush=new HatchBrush(HatchStyle.DashedUpwardDiagonal,Color.Blue,Color.White); g.DrawString(str,myFont,myBrush,0,0);

SizeF textSize ;

Graphics g;

Brush myBrush = Brushes.Blue;

Brush backBrush= Brushes.Gray;

Single xLocation,yLocation;

Font myFont = new Font("Times new Roman", 80, FontStyle.Bold);

g = pictureBox1.CreateGraphics();

g.Clear(Color.White);

string str = "Kevin";

textSize = g.MeasureString(str,myFont);

xLocation = (pictureBox1.Width/4)-5;

yLocation =(pictureBox1.Height/2-5);

g.DrawString(str,myFont,backBrush,(pictureBox1.Width/4),(pictureBox1.Height/2)); g.DrawString(str,myFont,myBrush,xLocation,yLocation);