关闭

C# 图形的绘制矩形椭圆

2289人阅读 评论(0) 收藏 举报
分类:
1.矩形框的绘制


绘制矩形框是用GDI+技术的DrawRectangle方法来实现的,它有3种语法,其语法格式如下:


public void DrawRectangle (Pen pen, int x, int y, int width, int height)


public void DrawRectangle (Pen pen, float x, float y, float width, float height)


public void DrawRectangle (Pen pen, Rectandgle rect)


DrawRectangle方法的参数说明如表1所示。


表1  DrawRectangle方法的参数说明


参数
 说    明
 
Pen
 确定矩形的颜色、宽度和样式
 
x
 要绘制的矩形的左上角的x坐标
 
y
 要绘制的矩形的左上角的y坐标
 
width
 要绘制的矩形的宽度
 
height
 要绘制的矩形的高度
 
rect
 要绘制的矩形的Rectandgle结构
 
例如,用整型值绘制矩形框,代码如下:


Pen mypen =new Pen(Color.Black, 1);//设置画笔的颜色及宽度


int x=30; int y=30; int width=10; int height=20;


g.DrawRectangle(mypen, x, y, width, height);                    //绘制矩形


例如,用单精度型绘制矩形框,代码如下:


Pen mypen =new Pen(Color.Black, 1); //设置画笔的颜色及宽度


float x = Convert.ToSingle(30.7); float y = Convert.ToSingle(30.1); float width = Convert.ToSingle(10.2);


float height = Convert.ToSingle(20.0);


g.DrawRectangle(mypen, x, y, width, height);                    //绘制矩形


例如,用Rectandgle结构绘制矩形框,代码如下:


Pen mypen =new Pen(Color.Black, 1); //设置画笔的颜色及宽度


Rectangle rect = new Rectangle(0, 0, 200, 200);


g.DrawRectangle(mypen, rect);                           //绘制矩形


2.矩形框的填充


矩形框的填充是用GDI+技术的Fillrectangle方法来实现的,它有3种语法,其语法格式如下:


public void Fillrectangle (Brush brush, int x, int y, int width, int height)


public void Fillrectangle (Brush brush, float x, float y, float width, float height)


public void Fillrectangle (Brush brush, Rectandgle rect)


Fillrectangle方法的参数说明如2所示。


表2  Fillrectangle方法的参数说明


参数
 说    明
 
Brush
 确定填充特性的Brush(画刷)
 
X
 要绘制的矩形的左上角的x坐标
 
Y
 要绘制的矩形的左上角的y坐标
 
Width
 要绘制的矩形的宽度
 
Height
 要绘制的矩形的高度
 
Rect
 要绘制的矩形的Rectandgle结构
 


例如,在指定的位置填充一个矩形,代码如下:


Graphics g = e.Graphics;


int x=30; int y=30; int width=10; int height=20;


SolidBrush mybrush = new SolidBrush(Color.Red);


g.FillRectangle(mybrush, x, y, width, height);                     //填充矩形


3.填充椭圆形的绘制


绘制填充椭圆形是用GDI+技术的FillPie方法来实现的,它有3种语法,其语法格式如下:


public void FillPie(Brush brush, Rectangle rect, float startAngle, float sweepAngle)


public void FillPie(Brush brush, int x, int y, int width, int height, int startAngle, int sweepAngle)


public void FillPie(Brush brush, float x, float y, float width, float height, float startAngle, float sweepAngle)


FillPie方法的参数说明如表3所示。


表3  FillPie方法的参数说明


参数
 说    明
 
Brush
 确定填充特性的Brush(画刷)
 
X
 要绘制的矩形的左上角的x坐标
 
Y
 要绘制的矩形的左上角的y坐标
 
Width
 要绘制的矩形的宽度
 
Height
 要绘制的矩形的高度
 
StartAngle
 从x轴沿顺时针方向旋转到扇形区第一个边所测得的角度(以度为单位)
 
SweepAngle
 从startAngle参数沿顺时针方向旋转到扇形区第二个边所测得的角度(以度为单位)
 


例如,在指定的位置绘制一个填充的椭圆形,代码如下:


Graphics g = e.Graphics;


SolidBrush redBrush = new SolidBrush(Color.Red);


int x = 300;


int y = 0;


int width = 200;


int height = 100;


int startAngle = 0;


int sweepAngle = 360;


e.Graphics.FillPie(redBrush, x, y, width, height, startAngle, sweepAngle);


例如,在指定的位置绘制一个填充的45度角的扇形,代码如下:


Graphics g = e.Graphics;


SolidBrush redBrush = new SolidBrush(Color.Red);


Rectangle rect = new Rectangle(0, 0, 200, 100);


float startAngle = 0.0F;//椭圆形的起始点


float sweepAngle = 45.0F;//扇形的度数


e.Graphics.FillPie(redBrush, rect, startAngle, sweepAngle);


4.绘制字符串


绘制字符串是用GDI+技术的DrawString方法来实现的,它有4种语法,其语法格式如下:


public void DrawString(string s, Font font, Brush brush, PointF point)


public void DrawString(string s, Font font, Brush brush, RectangleF layoutRectangle)


public void DrawString(string s, Font font, Brush brush, PointF point, StringFormat format)


public void DrawString(string s, Font font, Brush brush, RectangleF layoutRectangle, StringFormat format)


DrawString方法的参数说明如表4所示。


表4  DrawString方法的参数说明


参数
 说    明
 
s
 要绘制的字符串
 
font
 Font,它定义字符串的文本格式
 
brush
 Brush,它确定所绘制文本的颜色和纹理
 
Point
 PointF结构,它指定所绘制文本的左上角
 
layoutRectangle
 RectangleF结构,它指定所绘制文本的位置
 
format
 StringFormat,它指定应用于所绘制文本的格式化属性(如行距和对齐方式)
 


例如,在指定的位置纵向绘制字符串,代码如下:


String drawString = "我正在垂直对齐";


Font drawFont = new Font("宋体", 16);


SolidBrush drawBrush = new SolidBrush(Color.Black);


PointF drawPoint = new PointF(150.0F, 50.0F);


StringFormat drawFormat = new StringFormat();


drawFormat.FormatFlags = StringFormatFlags.DirectionVertical;                    //文本垂直对齐


e.Graphics.DrawString(drawString, drawFont, drawBrush, drawPoint, drawFormat);

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:23272次
    • 积分:331
    • 等级:
    • 排名:千里之外
    • 原创:5篇
    • 转载:32篇
    • 译文:0篇
    • 评论:0条
    文章分类