首页 > 开发 > 综合 > 正文

C#中关于GDI+输出的问题

2024-07-21 02:17:50
字体:
来源:转载
供稿:网友
中国最大的web开发资源网站及技术社区,

在.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);

这就是我想给各位的一个非常简单的操作文本程序。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表