c# 绘制图形

绘制图形

一、  绘制图形。

我们平时在OnPaint事件当中总是往窗体上绘制文字,其实在Graphics类中有很多绘制图形的方法,这节课我们就来学习在Graphics绘制类中都有哪些图形我们可以绘制。

我们都知道绘制就必须要有画笔和画刷,如果没有这两样工具我们的绘制是不能进行的,在现实生活中是这样,在我们的电脑绘制中也是这样,所以说我们应该先来学习如何制作一根画笔和画刷。

 

二、  Pen(画笔类)。

Pen类是C#语言当中专门的画笔类,在我们学习绘制图形时一定要使用到的。

使用方式1:Pen p1 = new Pen(Color.black); //第一种方法是用系统颜色来初始化我们的画笔类的,我们可以通过系统为我们准备好的Color静态类里的颜色给我们的画笔使用

使用方式2:Pen p2 = new Pen(Color. FromArgb(给定3种颜色值));

                                        //第二种方法是用系统为我们准备的自己配色的方法,每种颜色都是用数字来代替的,不用超过255。

三、  Brush(画刷类)。

Brush是C#语言当中的画刷类,相信我们对这个类也应该不是很陌生了吧,在我们使用DrawString方法时,第二个参数就是要这个参数。

使用方式1:Brush bs = new SolidBrush(Color.black); //这个类是不允许直接构造对象的,如果想要构造对象就只能使用SolidBrush类为他专门构造对象,参数可以设置颜色。

四、  Graphics(绘制类)方法。

 

返回值类型

方法

说明

Void

DrawString

绘制文字。

Void

DrawLine

绘制直线。

Void

DrawEllipse

绘制圆形。

Void

DrawRectangle

绘制矩形。

Void

DrawPie

绘制扇形。

1、        绘制直线。

DrawLine使用方式1:DrawLine(Pen p1,Point pt1,Point pt2);

DrawLine使用方式2:DrawLine(Pen p1,int x1,int y1,int x2,int y2);

绘制直线,指定从一个点绘制到另外一个点。

2、        绘制圆形。

DrawEllipse使用方式1:DrawEllipse(Pen p1,Rectangle rect);

DrawEllipse使用方式2:DrawEllipse(Pen p1,int x,int y,int Width,int Height);

绘制圆形,绘制圆形是根据一个矩形来进行绘制的。

3、        绘制矩形。

DrawRectangle使用方式1:DrawRectangle(Pen p1,Rectangle rect);

DrawRectangle使用方式2:DrawRectangle(Pen p1,int x,int y,int Width,int Height);

绘制矩形与绘制圆形一样。

4、        绘制扇形

DrawPie使用方式1:DrawPie(Pen p1,Rectangle rect,int startAngle,int sweepangle);

DrawPie使用方式2:DrawPie(Pen p1,int x,int y,int Width,int Height,int startAngle,int sweepangle);

绘制扇形需要一个矩形来决定扇形的起始位置和大小,还需要使用两个值来确定扇形的弧度。

 

例:

using System;

using System.Windows.Forms;

using System.Drawing;

 

namespace Hty

{

    class MyForm : Form

    {

        static void Main()

        {

            Application.Run(new MyForm());

        }

        public MyForm()

        {

            this.Text = "绘制图形";

        }

        protected override void OnPaint(PaintEventArgs e)

        {

            base.OnPaint(e);

            Pen p1 = new Pen(Color.FromArgb(100,100,100));

 

            Graphics grfz = e.Graphics;

            grfz.DrawLine(p1, 10, 10, 100, 100);

            grfz.DrawEllipse(p1, 50, 50, 100, 100);

            grfz.DrawRectangle(p1, 100, 100, 100, 100);

            grfz.DrawPie(p1, 120, 120, 100, 100,50, 50);

        }

    }

}

 

五、  Graphics(绘制类)颜色填充方法。

返回值类型

方法

说明

Void

FillEllipse

填充原形。

Void

FillRectangle

填充矩形。

Void

FillPie

填充扇形。

 

1、        填充圆形。

FillEllipse使用方式1:FillEllipse(brush p1,Rectangle rect);

FillEllipse使用方式2:FillEllipse(brush p1,int x,int y,int Width,int Height);

填充圆形,填充圆形是根据一个矩形来进行绘制的。

2、        填充矩形。

FillRectangle使用方式1:FillRectangle (brush p1,Rectangle rect);

FillRectangle使用方式2:FillRectangle(brush p1,int x,int y,int Width,int Height);

填充矩形与填充圆形一样。

3、        填充扇形

FillPie使用方式1:FillPie(brush p1,Rectangle rect,int startAngle,int sweepangle);

FillPie使用方式2:FillPie(brush p1,int x,int y,int Width,int Height,int startAngle,int sweepangle);

填充扇形需要一个矩形来决定扇形的起始位置和大小,还需要使用两个值来确定扇形的弧度。

 

例:

using System;

using System.Windows.Forms;

using System.Drawing;

namespace Hty

{

    class MyForm : Form

    {

        static void Main()

        {

            Application.Run(new MyForm());

        }

        public MyForm()

        {

            this.Text = "绘制图形";

        }

 

        protected override void OnPaint(PaintEventArgs e)

        {

            base.OnPaint(e);

            Pen p1 = new Pen(Color.FromArgb(100,100,100));

 

            Graphics grfz = e.Graphics;

            grfz.DrawLine(p1, 10, 10, 100, 100);

            grfz.DrawEllipse(p1, 50, 50, 100, 100);

            grfz.DrawRectangle(p1, 100, 100, 100, 100);

            grfz.DrawPie(p1, 120, 120, 100, 100,50, 50);

            grfz.FillEllipse(Brushes.Black, 50, 50, 100, 100);

            grfz.FillRectangle(Brushes.Firebrick, 100, 100, 100, 100);

            grfz.FillPie(Brushes.Fuchsia, 120, 120, 100, 100, 50, 50);

        }

    }

}

C#中使用Excel绘制图形可以通过使用Excel的COM对象来实现。下面是一个简单的示例代码,演示了如何使用C#创建一个Excel应用程序,并在工作表中绘制一个简单的折线图: ```csharp using Excel = Microsoft.Office.Interop.Excel; class Program { static void Main(string[] args) { // 创建Excel应用程序对象 Excel.Application excelApp = new Excel.Application(); // 添加一个工作簿 Excel.Workbook workbook = excelApp.Workbooks.Add(); // 获取第一个工作表 Excel.Worksheet worksheet = workbook.Sheets[1]; // 在工作表中添加一些数据 worksheet.Cells[1, 1] = "X"; worksheet.Cells[1, 2] = "Y"; worksheet.Cells[2, 1] = 1; worksheet.Cells[2, 2] = 10; worksheet.Cells[3, 1] = 2; worksheet.Cells[3, 2] = 20; worksheet.Cells[4, 1] = 3; worksheet.Cells[4, 2] = 15; // 添加图表对象 Excel.ChartObjects chartObjects = (Excel.ChartObjects)worksheet.ChartObjects(Type.Missing); Excel.ChartObject chartObject = chartObjects.Add(100, 100, 300, 200); Excel.Chart chart = chartObject.Chart; // 设置图表的数据源 Excel.Range chartRange = worksheet.Range["A1:B4"]; chart.SetSourceData(chartRange); // 设置图表类型为折线图 chart.ChartType = Excel.XlChartType.xlLine; // 保存Excel文件并关闭应用程序 workbook.SaveAs("ChartExample.xlsx"); excelApp.Quit(); } } ``` 上述代码使用了Excel的COM对象模型,因此要确保在项目中引用了Microsoft Excel的COM组件。注意,在运行代码之前,需要安装Excel应用程序。 这只是一个简单的示例,你可以根据自己的需求进行更复杂的图形绘制。希望对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值