当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > C#中关于GDI+输出的问题

ASP.NET
ASP.NET开发:简化应用程序的开发支持Web标准
asp.net XMLHttpRequest实现用户注册前的验证
asp.net 页面间传值方法小结
asp.net url重写浅谈
asp.net 验证码生成和刷新及验证
C#精髓 GridView72大绝技 学习gridview的朋友必看
实例说明asp.net中的简单角色权限控制
asp.net网站开发包wq.dll打包下载
js与ASP.NET 中文乱码问题
asp.net checkbox 动态绑定id GridView删除提示
asp.net TextBox回车触发事件 图片在img显示
asp.net 脏字典过滤问题 用正则表达式来过滤脏数据
asp.NET 脏字过滤算法
asp.NET 脏字过滤算法 修改版
asp.net sql 数据库处理函数命令
asp.net Javascript 的几种写法与提示
ASP.NET MVC学习笔记
asp.net 中国身份证号码验证代码 非正则
Asp.net中使用Sqlite数据库的方法
asp.net 中文字符串提交乱码的解决方法

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 169 ::
收藏到网摘: n/a

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


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