在.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);
这就是我想给各位的一个非常简单的操作文本程序。
新闻热点
疑难解答