C# GDI+ 简单画图小例子(适合新手)
来源:互联网 发布:混纺和纯棉知乎 编辑:程序博客网 时间:2024/05/09 08:26
C# GDI+ 简单画图小例子(适合新手)
如有转载,请注明出处:http://www.cnblogs.com/flydoos/archive/2011/09/22/2184943.html
C# GDI+ 简单画图小例子(适合新手)
专门写给新手看的,加了一些人性化的注释,便于新手理解。高手请飘过,嘻嘻
/* 标题:C# GDI+ 简单画图小例子
* 作者:flydoos
* QQ群:C#/Java技术交流群(96020642)
* 博客:http://flydoos.cnblogs.com
* 微博:http://weibo.com/flydoos
* 日期:2011-09-22
*
* 因为都非常相似,其他的就不写了
* 例如:绘制一个填充的多边形 DrawPolygon、FillPolygon
* 自己看提示去写吧
*
*/
using System;
using System.Drawing;
using System.Windows.Forms;
namespace GDI_Demo
{
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
}
//画直线
private void btnDrawLine_Click(object sender, EventArgs e)
{
Graphics g = this.CreateGraphics();
Color red = Color.FromArgb(255, 0, 0);
Pen blackPen = new Pen(red, 3);
Point point1 = new Point(100, 100); //坐标(100,100)
Point point2 = new Point(500, 100); //坐标(500,100)
g.DrawLine(blackPen, point1, point2); //两个坐标连成直线
}
//强制对象进行重绘
private void btnInvalidate_Click(object sender, EventArgs e)
{
Rectangle r = new Rectangle(10, 10, 200, 400); //从坐标(10,10)开始,定义一个宽度200,高度200的矩形区域
this.Invalidate(r);
}
//清除整个绘图画面并以某种颜色填充
private void btnClear_Click(object sender, EventArgs e)
{
Graphics g = this.CreateGraphics();
g.Clear(Color.Red);
}
//画弧线
private void btnDrawArc_Click(object sender, EventArgs e)
{
Graphics g = this.CreateGraphics();
Rectangle r = new Rectangle(10, 10, 200, 100);
Pen pen1 = new Pen(Color.Black);
g.DrawArc(pen1, 50, 50, 200, 200, 180, 90); //起始坐标(50,50),宽度200,高度200,弧线的起始角度180°,弧线经过角度90°
g.DrawArc(pen1, r, 0, 135);
}
//画椭圆、填充椭圆
private void btnDrawEllipse_Click(object sender, EventArgs e)
{
Graphics g = this.CreateGraphics();
Rectangle r = new Rectangle(10, 10, 200, 100);
Pen pen1 = new Pen(Color.Black);
//椭圆
g.DrawEllipse(pen1, 50, 50, 200, 200); //起始坐标(50,50),宽度200,高度200
g.DrawEllipse(pen1, r);
//填充椭圆
g.FillEllipse(new SolidBrush(Color.Blue), 50, 50, 200, 200);
g.FillEllipse(new SolidBrush(Color.DarkOrange), r);
}
//画矩形、填充矩形
private void btnRectangle_Click(object sender, EventArgs e)
{
Graphics g = this.CreateGraphics();
Rectangle r = new Rectangle(10, 10, 200, 100);
Pen pen1 = new Pen(Color.Black);
//矩形
g.DrawRectangle(pen1, 50, 50, 200, 200); //起始坐标(50,50),宽度200,高度200
g.DrawRectangle(pen1, r);
//填充矩形
g.FillRectangle(new SolidBrush(Color.Blue), 50, 50, 200, 200);
g.FillRectangle(new SolidBrush(Color.DarkOrange), r);
}
private void btnDrawPie_Click(object sender, EventArgs e)
{
Graphics g = this.CreateGraphics();
Rectangle r = new Rectangle(10, 10, 200, 100);
Pen pen1 = new Pen(Color.Black);
//椭圆
g.DrawPie(pen1, 50, 50, 200, 200, 225, 90); //起始坐标(50,50),宽度200,高度200,射线1=225,射线2=90
g.DrawPie(pen1, r, 225, 90);
//填充椭圆
g.FillPie(new SolidBrush(Color.Blue), 50, 50, 200, 200, 225, 90);
g.FillPie(new SolidBrush(Color.DarkOrange), r, 225, 90);
}
}
* 作者:flydoos
* QQ群:C#/Java技术交流群(96020642)
* 博客:http://flydoos.cnblogs.com
* 微博:http://weibo.com/flydoos
* 日期:2011-09-22
*
* 因为都非常相似,其他的就不写了
* 例如:绘制一个填充的多边形 DrawPolygon、FillPolygon
* 自己看提示去写吧
*
*/
using System;
using System.Drawing;
using System.Windows.Forms;
namespace GDI_Demo
{
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
}
//画直线
private void btnDrawLine_Click(object sender, EventArgs e)
{
Graphics g = this.CreateGraphics();
Color red = Color.FromArgb(255, 0, 0);
Pen blackPen = new Pen(red, 3);
Point point1 = new Point(100, 100); //坐标(100,100)
Point point2 = new Point(500, 100); //坐标(500,100)
g.DrawLine(blackPen, point1, point2); //两个坐标连成直线
}
//强制对象进行重绘
private void btnInvalidate_Click(object sender, EventArgs e)
{
Rectangle r = new Rectangle(10, 10, 200, 400); //从坐标(10,10)开始,定义一个宽度200,高度200的矩形区域
this.Invalidate(r);
}
//清除整个绘图画面并以某种颜色填充
private void btnClear_Click(object sender, EventArgs e)
{
Graphics g = this.CreateGraphics();
g.Clear(Color.Red);
}
//画弧线
private void btnDrawArc_Click(object sender, EventArgs e)
{
Graphics g = this.CreateGraphics();
Rectangle r = new Rectangle(10, 10, 200, 100);
Pen pen1 = new Pen(Color.Black);
g.DrawArc(pen1, 50, 50, 200, 200, 180, 90); //起始坐标(50,50),宽度200,高度200,弧线的起始角度180°,弧线经过角度90°
g.DrawArc(pen1, r, 0, 135);
}
//画椭圆、填充椭圆
private void btnDrawEllipse_Click(object sender, EventArgs e)
{
Graphics g = this.CreateGraphics();
Rectangle r = new Rectangle(10, 10, 200, 100);
Pen pen1 = new Pen(Color.Black);
//椭圆
g.DrawEllipse(pen1, 50, 50, 200, 200); //起始坐标(50,50),宽度200,高度200
g.DrawEllipse(pen1, r);
//填充椭圆
g.FillEllipse(new SolidBrush(Color.Blue), 50, 50, 200, 200);
g.FillEllipse(new SolidBrush(Color.DarkOrange), r);
}
//画矩形、填充矩形
private void btnRectangle_Click(object sender, EventArgs e)
{
Graphics g = this.CreateGraphics();
Rectangle r = new Rectangle(10, 10, 200, 100);
Pen pen1 = new Pen(Color.Black);
//矩形
g.DrawRectangle(pen1, 50, 50, 200, 200); //起始坐标(50,50),宽度200,高度200
g.DrawRectangle(pen1, r);
//填充矩形
g.FillRectangle(new SolidBrush(Color.Blue), 50, 50, 200, 200);
g.FillRectangle(new SolidBrush(Color.DarkOrange), r);
}
private void btnDrawPie_Click(object sender, EventArgs e)
{
Graphics g = this.CreateGraphics();
Rectangle r = new Rectangle(10, 10, 200, 100);
Pen pen1 = new Pen(Color.Black);
//椭圆
g.DrawPie(pen1, 50, 50, 200, 200, 225, 90); //起始坐标(50,50),宽度200,高度200,射线1=225,射线2=90
g.DrawPie(pen1, r, 225, 90);
//填充椭圆
g.FillPie(new SolidBrush(Color.Blue), 50, 50, 200, 200, 225, 90);
g.FillPie(new SolidBrush(Color.DarkOrange), r, 225, 90);
}
}
}
- C# GDI+ 简单画图小例子(适合新手)
- C# GDI+画图
- C# GDI画图
- C# GDI+画图
- Handler小例子(非常简单的handler例子,适合初学者,高手勿喷)
- C#,winform,gdi+,简单实现鼠标拉出虚线框,适合新手
- GDI+ C# 画图 、 输出文字
- Delphi GDI+ 实现简单画图
- C# 小程序之新手练习(二)简单电话簿
- c# 反射---简单小例子
- c# 反射---简单小例子
- canvas画图小例子
- C#对各种图片特效(GDI画图)
- springMVC3.2+Hibernate4+freemarker入门简单小例子,适合初学者
- C#例子之画图
- MSSQL 小整理 适合新手
- highCharts 画图简单例子
- SSM 小demo(很详细,适合新手)
- 工作面试经历(TP-LINK 腾讯 天威视讯。。。)
- error:libraries: libcloog.so.0: cannot open shared object file: No such file or directory
- 图像金字塔(转载+整理)
- linux内核移植-移植2.6.35.4内核到s3c2440
- C# 使用itextsharp打印医院门诊病人费用清单(可打印中文PDF)
- C# GDI+ 简单画图小例子(适合新手)
- 程序人生--一个程序员对学弟学妹建议
- windows域与工作组概念
- VB.NET概况图
- 支付宝曝重大漏洞:交易记录可被搜索
- jquery 制作的表格效果
- 约瑟夫环问题
- 源码库收集的一些sql语句集合
- SQL2008安装过程详解!