C# GDI+基础知识笔记

GDI+的名称空间

名称空间说明
System.Drawing包含与基本绘图功能有关的大多数类、结构、枚举和委托
System.Drawing.Drawing2D为大多数高级2D和矢量绘图操作提供了支持,包括消除锯齿、几何变形和图形路径
System.Drawing.Imaging包括有助于处理图像(位图、GIF文件等)的各种类
System.Drawing.Printing包含把打印机或打印预览窗口作为“输出设备”时使用的类
System.Drawing.Design包含一些预定义的对话框、属性表和其他用户界面元素,与在设计期间扩展用户界面相关
System.Drawing.Text包含对字体和字体系列执行更高级操作的类

Color类的颜色说明

Color的属性颜色说明
Color.Red红色
Color.White白色
Color.AliceBlue艾丽斯蓝
Color.AntiqueWhite古董白

Color颜色对照表

一、GDI的3种基本类型绘图界面
1、Windows窗体上的控件
2、要发送给打印机的页面
3、内存中的位图图像
二、Graphics类
using System.Drawing;//添加引用
Graphics类是GDI+ 的核心,Graphics 对象表示GDI+绘图表面,它提供将对象绘制到显示设备的方法。Graphics类封装了绘制直线、曲线、图形和文字的方法
创建Graphics对象的3中方法
1、在窗体和控件的Paint事件中创建

 private void groupBox1_Paint(object sender, PaintEventArgs e)
        {
            Graphics g = e.Graphics;
        }

在为控件创建绘制代码时,通常用此方法来获取对图形对象的引用
2、调用控件或窗体的CreateGraphics方法获取对Graphics对象的引用,该对象表示控件或窗体的绘画画面

 private void Form1_Load(object sender, EventArgs e)
        {
            Graphics g = this.CreateGraphics();
        }

如果在已存在的窗体或控件上绘图,应该使用此方法。

3、由从Image继承的任何对象创建Graphics对象

 private void Form1_Load(object sender, EventArgs e)
        {
            Bitmap mbit = new Bitmap(@"C:\a.bmp");//实例化Bitmap类,获得要修改的图像
            Graphics g = Graphics.FromImage(mbit);//获得图像的Graphics类在上面修改

        }

此方法在需要更改已存在的图像

Graphics方法说明
DrawLine绘制直线
DrawRectangle绘制矩形
DrawEllipse绘制椭圆
DrawArc绘制圆弧
DrawPle绘制扇形
DrawPolygon绘制多边形
DrawString绘制文本
DrawImage绘制图形
FillEllipse填充椭圆内部
FillRectangle填充矩形内部
  //获取窗体Graphics类
            Graphics g = this.CreateGraphics();
            //创建用于填充图形内部的颜色
            SolidBrush lab = new SolidBrush(Color.Red);
            //创建一个矩形
            Rectangle b = new Rectangle(0, 10, 50, 50);
            Pen p = new Pen(Color.Red, 2);
            //创建Pen对象,第一个参数颜色,第二个参数是线宽
            g.DrawLine(p, 70, 20, 70, 80);//画直线
            g.DrawString("你好", new Font("华文行楷", 14), lab, 100, 100);//画字
            g.DrawEllipse(p, 100, 100, 50, 50);//画圆

            g.FillRectangle(lab, b);//填充矩形
            g.FillEllipse(lab, 60, 10, 30, 30);//填充圆

三、Pen类
Pen类主要用于绘制线条,或者线条组合成的其他几何形状

 Pen p = new Pen(Color.Beige, 2);
//创建Pen对象,第一个参数颜色,第二个参数是线宽

四、Brush类
Brush类主要用于填充几何图像。Brush类是一个抽象基类,不能进行实例化,若要创建一个画笔对象,需要从Brush派生出的类。
1、SolidBrush类
SolidBrush类可定义单色画笔,用于填充图形形状,如矩形、椭圆、扇形、多边形和封闭路径。

                Graphics g = this.CreateGraphics();
                SolidBrush lab = new SolidBrush( Color.Red);
                Rectangle b = new Rectangle(10, 50 , 50 , 50);
                g.FillRectangle(lab, b);

2、HatchBrush类
HatchBrush类提供了一种特定样式的图形,用来制作填满整个封闭区域的绘图效果。该类位于System.Drawing.Drawing2D命名空间下

             for (int i = 0; i < 5; i++)
            {
                HatchStyle a = (HatchStyle)(3+i);

                HatchBrush lab = new HatchBrush(a, Color.Red);
                Rectangle b = new Rectangle(10, 50 * i, 50 * i, 50);
                g.FillRectangle(lab, b);

            }

3、LinerGradientBrush类
LinerGradientBrush类提供了一种渐变色彩的特效,填充图形的内部区域。该类位于System.Drawing.Drawing2D命名空间下

 LinearGradientBrush lab = new LinearGradientBrush(new Point(100, 100), new Point(100, 200),Color.Red,Color.White);
            //第一个参数是指定一个点,使用Point类声明了一个点
            //第二个参数是指定下一个点,
            //第三个参数是指定一个颜色
            //第四个参数是指定一个颜色
            //渐变色从第三个参数是指定的颜色变成第四个参数是指定的颜色,方向和大小和两个点有关

四、Point和PointF 结构
Point a = new Point(20,10);
a.X=20;//从原点向右移动20个单位
a.Y=10;//从原点向下移动10个单位
表示一个点,由水平坐标和垂直坐标(x,y)组成,Point 结构 表示物体的位置
Point 的X和Y的属性类型是 int , PointF 的X和Y的属性类型是 float .
五、Size和SizeF 结构
Size a = new Size(20,10):
a.Width = 20;//表示物体的宽度
a.Height =10;//表示物体的高度
Size 结构表示物体的大小,
六、Rectangle和RectangleF 结构
这两个结构表示一个矩形区域。Rectangle可以看作由一个Point和Size组成,其中Point表示矩形的左上角,Size表示其大小。
七、Region
Region表示一个包含复杂图形的区域。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值